@mdboom - It's important to note the distinction between bounds enforcement, which now occurs in `Latitude`, and value wrapping which occurs in `Longitude`.  Those two things are very different, and by having just one or the other that allowed much of the code and API simplification.  From what I could see when you allow for *both* in the same object then things get a little squirrelly.   I.e. do you wrap first and then check bounds, or the other way round?  I can't think of a realistic use case for having both features in one object.

Would you see advantage in `WrappedAngle` and `BoundedAngle` as distinct base classes from which `Longitude` and `Latitude` inherit (respectively)?