*   enter(node, key, parent, path, ancestors) {
   *     // @return
   *     //   undefined: no action
   *     //   false: skip visiting this node
   *     //   visitor.BREAK: stop visiting altogether
   *     //   null: delete this node
   *     //   any value: replace this node with the returned value
   *   }
A KeyMap describes each the traversable properties of each kind of node.
@deprecated Please inline it. Will be removed in v17