Put these in a separate header - they don't need to be available whenever VECTOR2 is, but they are generic, reusable functions that can have the corner cases defined and tested.