we should probably return a Result from it. or the worst case, panic.
because normalize is used a lot in (distance.1 - distance.2).normalize()
and there is a small chance that they are exactly the same,
and like me for hours, trying to hunt for a bug and not able to replicate it.