add functiondef typechecker
integrate typecheck with parser... still work to do