code: function element(morph, env, scope, path, params, hash, visitor) {
      if (handleRedirect(morph, env, scope, path, params, hash, null, null, visitor)) {
        return;
      }
  
      var helper = env.hooks.lookupHelper(env, scope, path);
      if (helper) {
        env.hooks.invokeHelper(null, env, scope, null, params, hash, helper, { element: morph.element });
      }
    }
docs: Host hook: element
  
  @param {RenderNode} renderNode
  @param {Environment} env
  @param {Scope} scope
  @param {String} path
  @param {Array} params
  @param {Hash} hash
  
  Corresponds to:
  
  ```hbs
  <div {{bind-attr foo=bar}}></div>
  ```
  
  This hook is responsible for invoking a helper that
  modifies an element.
  
  Its purpose is largely legacy support for awkward
  idioms that became common when using the string-based
  Handlebars engine.
  
  Most of the uses of the `element` hook are expected
  to be superseded by component syntax and the
  `attribute` hook.