I was so disappointed that this turned from Python to Haskell, I would just _love_ to have something like this in Python. Even just type annotations.
A similar thing I have been thinking about doing in robotics contexts is to annotate vectors and transformation matrices with their reference frames. So you can only matrix-vector multiply between compatible types: `object_in_world = camera_to_world @ object_in_camera`. It can be done somewhat in C++.