anchor.diff:      _enterScope(closureScope);
     }
   
  -  void buildFunctionHeader(Iterable<Local> parameters,
  -                           {ClosureScope closureScope,
  -                            ClosureEnvironment env}) {
  +  List<ir.Primitive> buildFunctionHeader(Iterable<Local> parameters,
  +                                        {ClosureScope closureScope,
  +                                         ClosureEnvironment env}) {
       _createThisParameter();
       _enterClosureEnvironment(env);
       _enterScope(closureScope);
       parameters.forEach(_createFunctionParameter);
  +    return _parameters;
     }
   
     /// Creates a parameter for [local] and adds it to the current environment.
     ir.Parameter createLocalParameter(Local local) {
       ir.Parameter parameter = new ir.Parameter(local);
  +    _parameters.add(parameter);
       environment.extend(local, parameter);
       return parameter;
     }
  
positive.code: 
    void _createFunctionParameter(Local parameterElement) {
      ir.Parameter parameter = new ir.Parameter(parameterElement);
      state.functionParameters.add(parameter);
      ClosureLocation location = jsState.boxedVariables[parameterElement];
      if (location != null) {
  
negative.code:   // TODO(johnniwinther): Make these field final and remove the default values
    // when [IrBuilder] is a property of [IrBuilderVisitor] instead of a mixin.
  
    final List<ir.Parameter> _parameters = <ir.Parameter>[];
  
    IrBuilderDelimitedState state;
  
    /// A map from variable indexes to their values.
  