anchor.diff:      return null;
     }
   
  -  return new FSNamedArgument(name, sap);
  +  return new _FSNamedArgument(name, sap);
   
   }
   
   /*
    * <sap>                        = <scalar> | <array> | <program>
    */
  -FSScalarArrayProgram _parseFSScalarArrayProgram(String s) => _firstNotNull([_parseFSScalar, _parseFSArray, _parseFSProgram])(s);
  +_FSScalarArrayProgram _parseFSScalarArrayProgram(String s) => _firstNotNull([_parseFSScalar, _parseFSArray, _parseFSProgram])(s);
   
   /*
    * <array>                      = \[ <array_entries>\]
    */
  -FSArray _parseFSArray(String s) {
  +_FSArray _parseFSArray(String s) {
     if (!s.startsWith("[") || !s.endsWith("]")) {
       return null;
     }
  
positive.code:     }
  
  
      if (function is FSRegisterArrayAccessFunction) {
        return mirror.instanceMembers.containsKey(MirrorSystem.getSymbol("[]"));
  
      } else if (function is FSRegisterNamedFunction) {
        FSRegisterNamedFunction f = function;
        var symbol = MirrorSystem.getSymbol(f.name);
        if (!mirror.instanceMembers.containsKey(symbol)) {
          return _isGetterSetter(function);;
        }
  
        MethodMirror mMirror = mirror.instanceMembers[symbol];
  
negative.code:       return null;
      }
  
      return new _FSTypeBackslashName(t, n);
    });
  
  }
  
  _FSName _parseFSName(String string) => new RegExp(r"^[a-zA-Z_][A-Za-z0-9_]*$", caseSensitive:false).hasMatch(string) ? new _FSName(string) : null;
  
  _FSNotStartingWithUnderscoreName _parseFSNotStartingWithUnderscoreName(String string) {
    if (string.isEmpty) {
      return null;
    }
  