anchor.diff:          #name{ name=Primitiv, primitiv=true } ->
               MyVar = compil_table:newTemp(),
               [VarA, VarB] = Vars,
  -            MyOp = ?LIN([MyVar,"=", decode(Primitiv), decode_type(RetType), VarA,",",VarB]),
  +            MyOp = ?LIN([MyVar,"=", decode(Primitiv), edt(hd(Args)), VarA,",",VarB]),
               {MyVar, [ MyOp | ArgCodeLines ]};
           #lambda{ type=#typeFun {arguments=ArgTypes} } = Lambda ->
               {LambdaVar, _ } = codegen(Lambda),
  
positive.code: extract_type(#name{type = Type}) -> Type;
  extract_type(#literal{type = Type}) -> Type;
  extract_type(#lambda{type = Type}) -> Type;
  extract_type(#closure{ type= Type}) -> Type.
  
  
  
  % @doc: show which type may be mapped to int
  
negative.code:     Pointer = compil_table:newTemp(),
      MyVar = compil_table:newTemp(),
  
      % TODO: typing
      AllocCode = ?LIN([Pointer,"=","alloca","i32"]),
      BranchCode = ?LIN(["br i1",CondVar++",","label",LabelTrue ++ ",","label",LabelFalse  ] ),
      LabelTrueCode = ?LABEL(LabelTrue),
  