See https://github.com/Deduction42/FlexUnits.jl. Not clear to me to what degree it solves problems we face, which mostly have to do with mixing nm, mm, etc. We have conversion and dispatch errors when the types don't match (especially when one quantity had ContextUnits and the other didn't), as well as somewhat-redundant compilation of methods for each type. These are solved to some extent by using .PreferredUnits everywhere, but maybe we can do better with FlexUnits somehow? Or maybe we're doing more dynamic dispatch than we realize, and switching could help with that? In any case I want to stick a pin in this.
See https://github.com/Deduction42/FlexUnits.jl. Not clear to me to what degree it solves problems we face, which mostly have to do with mixing nm, mm, etc. We have conversion and dispatch errors when the types don't match (especially when one quantity had ContextUnits and the other didn't), as well as somewhat-redundant compilation of methods for each type. These are solved to some extent by
using .PreferredUnitseverywhere, but maybe we can do better with FlexUnits somehow? Or maybe we're doing more dynamic dispatch than we realize, and switching could help with that? In any case I want to stick a pin in this.