anchor.diff:  compile_modulename(Filename) ->
       atom(binary_to_list(filename:basename(Filename))).
   
  -compile_exports(ExportedNodes) ->
  +compile_exports(FileNodes) ->
       Exports = lists:foldr(
                   fun ({IdAst, NameAst, _Schema}, Acc) ->
                           [arity_qualifier(NameAst, integer(0)),
                            arity_qualifier(IdAst, integer(0))|Acc]
  -                end, [], ExportedNodes),
  +                end, [], FileNodes),
       list([arity_qualifier(atom(schema), integer(1))|Exports]).
   
  -compile_types(ExportedNodes) ->
  +compile_types(FileNodes) ->
       Types = [begin
                    Id = ecapnp:get(id, Schema),
                    tuple([integer(Id), NameAst])
  -             end || {_IdAst, NameAst, Schema} <- ExportedNodes],
  +             end || {_IdAst, NameAst, Schema} <- FileNodes],
       list(Types).
   
  -compile_nodes(ExportedNodes) ->
  +compile_nodes(FileNodes) ->
       lists:foldr(
         fun ({IdAst, NameAst, _Schema}=Node, Acc) ->
                 [function(
  
positive.code:                                string(
                                   binary_to_list(
                                     ecapnp:get(displayName, Node))))
                              ]))
               |Fields])
           ])
        ]).
  
  
  compile_node_type(file) ->
      [record_field(atom(kind), atom(file))];
  
negative.code:     compile_binary(ecapnp_val:set(uint16, Value));
  compile_value(Type, {Type, Value})
    when Type == text; Type == data ->
      compile_binary(Type, Value);
  compile_value(Type, {ValueType, Value})
    when Type == ValueType; element(1, Type) == ValueType ->
      compile_binary(ecapnp_val:set(ValueType, Value));
  