binop type inference