code: private static boolean isHoistableFunction(NodeTraversal t, Node node) {
      // TODO(michaelthomas): This could be improved slightly by not assuming that any variable in the
      // outer scope is used in the function.
      return node.isFunction() && t.getScope().getVarCount() == 0;
    }
docs: Returns whether the specified rValue is a function which does not receive any variables from
  its containing scope, and is thus 'hoistable'.