anchor.diff:      estree:identifier(atom_to_list(Name) ++ "/" ++ integer_to_list(Arity));
   parse_var(noreturn, Params, {c_var, _, Var}) ->
       estree:identifier(atom_to_binary(Var, utf8)).
  -    %io:format("", []);
   
   %% Parses a c_seq node.
   parse_seq(return, Params, {c_seq, _, A, B}) ->
  
positive.code:             parse_node(return, Params, Elem)
          ),
      []).
      % parse_node(ReturnAtom, Params, Elem);
  
  %% Parses a c_primop node.
  parse_primop(return, Params, {c_primop, _, {_, _, Type}, _Details}) ->
      % io:format("        Error? ~p~n~p~n", [Type, Details]),
      estree:error(atom_to_list(Type), "TODO Errors dont parse nicely\\n", estree:literal(<<"Message">>)).
      % io:format("", []);
  
  %% Parses a c_letrec node.
  %% Note: c_letrec appears to represent list comprehension.
  parse_letrec(ReturnAtom, Params, {c_letrec, _, [Func], Apply}) ->
  % parse_node(ReturnAtom, Params, {c_letrec, _, [{{_, _, {FunctionName, Arity}}, {_c_fun, _, ParamNames, Body}}], Apply}) ->
  %     {Id, F} = parse_function({{a, [], {'listComp', Arity}}, {c_fun, [], ParamNames, Body}}),
      {Id, F} = parse_function(Func),
      assemble_sequence(
          %estree:variable_declaration(estree:variable_declarator(estree:identifier(list_to_binary(Id)), F), <<"let">>),
          % estree:let_declaration(list_to_binary(Id), F),
          estree:assignment_expression(
              <<"=">>,
              estree:member_expression(
                  estree:identifier(<<"functions">>),
                  estree:literal(identify_normalise(Id)),
                  % estree:identifier(<<"listComp">>),
                  true
              ),
              F
          ),
          % estree:function_expression(
          %     estree:identifier(identify_normalise(atom_to_list(FunctionName) ++ "/" ++ integer_to_list(Arity))),
          %     tuple_list_to_identifier_list(ParamNames, tuple_list_get_vars_3(ParamNames)),
          %     estree:block_statement(
          %         encapsulate_expressions(
          %             list_check(
          %                 parse_node(return, tuple_list_get_vars_3(ParamNames), Body)
          %             )
          %         )
          %     ),
          %     true
          % ),
          parse_node(ReturnAtom, Params, Apply)
      ).
  
  
negative.code:         )
      )];
  %assign_matched_vars(Params, A, B) ->
  assign_matched_vars(Params, _, _) ->
      [ok].
  
  