anchor.diff:      {Vars, ArgCodes}  = lists:unzip(CodeArgs),
       ArgCodeLines =  lists:concat(ArgCodes),
       case Target of
  -        #name{ name='+' } ->
  +        #name{ name=Primitiv, primitiv=true } ->
               MyVar = compil_table:newTemp(),
               [VarA, VarB] = Vars,
  -            MyOp = ?LIN([MyVar,"=", decode('+'), decode_type(RetType), VarA,",",VarB]),
  +            MyOp = ?LIN([MyVar,"=", decode(Primitiv), decode_type(RetType), VarA,",",VarB]),
               {MyVar, [ MyOp | ArgCodeLines ]};
           #lambda{ type=#typeFun {arguments=ArgTypes} } = Lambda ->
               {LambdaVar, _ } = codegen(Lambda),
  
positive.code:     #literal{ type=bool, value=BoolLit};
  
  split_env(Atom, Env) when is_atom(Atom) ->
      case lists:member(Atom,?BUILDIN) of
          true ->
              #name{name=Atom, buildin=true};
          _   ->
              {NameEnv, NewName} = lookup_name(Env, Atom),
              #name{name = NewName, env = NameEnv, buildin=false }
      end.
  
  %split_env(StringLit) when is_string(StringLit) ->
  
negative.code: decode('+') -> "add";
  decode('/') -> "div";
  decode('*') -> "mul";
  decode('-') -> "sub";
  decode('or') -> "or";
  decode('and') -> "and";
  decode('=') -> "icmp eq";
  decode('<') -> "icmp sgt";
  decode('=') -> "icmp slt".
  
  % Types
  decode_type(#typeFun{return=Return,arguments=Args}) ->
  