code: static Set<String> findModifiedParameters(Node fnNode) {
      ImmutableSet<String> names = getFunctionParameterSet(fnNode);
      Set<String> unsafeNames = new HashSet<>();
      return findModifiedParameters(fnNode.getLastChild(), names, unsafeNames, false);
    }
docs: Retrieve a set of names that can not be safely substituted in place.
  Example:
  function(a) {
  a = 0;
  }
  Inlining this without taking precautions would cause the call site value
  to be modified (bad).