anchor.diff:  
   %% parse/2 - Given a binary and a callback, look through the binary
   %% for strings of the form [[[module]]] or [[[module:function(args)]]]
  -parse(B, Callback) -> parse(B, Callback, []).
  -parse(<<>>, _Callback, Acc) -> [lists:reverse(Acc)];
  +parse(B, Callback) ->
  +    parse(B, Callback, <<>>).
  +
  +parse(<<>>, _Callback, Acc) -> 
  +    [Acc];
   parse(<<"[[[", Rest/binary>>, Callback, Acc) ->
       { Token, Rest1 } = get_token(Rest, <<>>),
  -    [lists:reverse(Acc), Callback(Token)|parse(Rest1, Callback, [])];
  -parse(<<C, Rest/binary>>, Callback, Acc) -> parse(Rest, Callback, [C|Acc]).
  +    [Acc, Callback(Token) | parse(Rest1, Callback, <<>>)];
  +parse(<<C, Rest/binary>>, Callback, Acc) -> 
  +    parse(Rest, Callback, <<Acc/binary,C>>).
   
   get_token(<<"]]]", Rest/binary>>, Acc) -> { Acc, Rest };
   get_token(<<H, Rest/binary>>, Acc) -> get_token(Rest, <<Acc/binary, H>>).
  
positive.code: 
      File = wf:to_list(Record#template.file),
      Template = get_cached_template(File),
      
      % Let's figure out the appropriate module aliases
      ModuleAliases = get_module_aliases(Record),
  
negative.code: peel([Delim|T], Delim, Acc) -> {lists:reverse(Acc), T};
  peel([H|T], Delim, Acc) -> peel(T, Delim, [H|Acc]).
  
  
  %%% EVALUATE %%%
  
  eval([], _, _) -> [];
  eval([H|T], Record, ModuleAliases) when H==script;
                                          H==mobile_script;
                                          ?IS_STRING(H);
                                          is_binary(H) ->
      [H|eval(T, Record, ModuleAliases)];
  eval([H|T], Record, ModuleAliases) ->
      [replace_callbacks(H, Record, ModuleAliases) | eval(T, Record, ModuleAliases)].
  