anchor.diff:  
   get_name(#{contract_name := Name}) -> Name;
   get_name(_) -> error(name_not_defined).
  -    
  +
   set_functions(NewFuns, Icode) ->
       maps:put(functions, NewFuns, Icode).
  
positive.code: 
  %% ICode is untyped, surely?
  ast_type(T) ->
      T.                                 
  
  ast_body({id, _, Name}) ->
      %% TODO Look up id in env
  
negative.code: 			      RecType})}
  		   ]};
  ast_body({typed, _, Body, _}) ->
      ast_body(Body).
  
  ast_typerep({id,_,"int"}) ->
      word;
  