Small changes Codegen, Typechecker

Codegen: removed duplicate and
Typechecker: change f_arg_type to elem_type
Small opt. in CodeGen NEGATE

changed how it works. Now it takes a number e and subtracts it from 0 to
negate it.