if (mv) {
          var g = (keymap.g = keymap.g || {})
          var ga = (g[key] = g[key] || [])
          mv = (ga.find((gmv: MatchValue) => gmv.same(mv)) ||
            (ga.push(mv), mv)) as MatchValue