anchor.diff:          end
       end.
   
  +to_term(X, Bindings) ->
  +    S = wf:to_list(X),
  +    {ok, Tokens, 1} = erl_scan:string(S),
  +    {ok, Exprs} = erl_parse:parse_exprs(Tokens),
  +    {value, Value, _} = erl_eval:exprs(Exprs, Bindings),
  +    Value.
  +
  +
  +
   get_module_aliases(Record) ->
       lists:append([
           Record#template.module_aliases,
  
positive.code: peel([Delim|T], Delim, Acc) -> {lists:reverse(Acc), T};
  peel([H|T], Delim, Acc) -> peel(T, Delim, [H|Acc]).
  
  to_term(X, Bindings) ->
      S = wf:to_list(X),
      {ok, Tokens, 1} = erl_scan:string(S),
      {ok, Exprs} = erl_parse:parse_exprs(Tokens),
      {value, Value, _} = erl_eval:exprs(Exprs, Bindings),
      Value.
  
  
  
  %%% EVALUATE %%%
  
  eval([], _, _) -> [];
  eval([H|T], Record, ModuleAliases) when H==script orelse H==mobile_script ->
      [H|eval(T, Record, ModuleAliases)];
  eval([H|T], Record, ModuleAliases) when ?IS_STRING(H) ->
      [H|eval(T, Record, ModuleAliases)];
  eval([H|T], Record, ModuleAliases) ->
      [replace_callbacks(H, Record, ModuleAliases) | eval(T, Record, ModuleAliases)].
  
negative.code: 
      File = wf:to_list(Record#template.file),
      Template = get_cached_template(File),
  
      io:format("Template: ~p",[Template]),
      
      % Let's figure out the appropriate module aliases
      ModuleAliases = get_module_aliases(Record),
  