saves functions types in a module; creates global function name; type check function type with return type
fixed merge conflict