need a way to represent unary vs binary "-" during type-checking