binop and unop type checking done