this is why your math-scientific always canonical pure algebra implementation doesn't cut it, rationals have much wider scope - to keep track of and delay division until it's convenient/necessary
@namark I think they're called surd types
@ercadio I was talking about my real world day to day struggles here, plenty of fixed point number implementation used all over the place (sometimes not even called fixed point or a number at all) that can be generalized as rationals with fixed denominator, except that most real world implementations of rationals can't do it cause they are too eager to reduce the fraction, since from pure algebra perspective that's desirable.
I've never seen either of the things you mentioned implemented or used in any way. I guess maybe when doing geometry for games you avoid square root by dealing with squares of lengths as much as possible, would be nice to have a type for that to prevent invalid algebra, but as a radical that's an analogy of a fixed denominator rational, so if your pure algebra implementation is again eager to reduce in one way or the other, it probably won't cut it. With cubic roots and above I'd assume you are deep into pure math/science already and don't care about the details.
@namark what about algebraic numbers that can only be stored with bounded precision (like radicals or continued fractions) in floating point & fixed point numbers? Aren't the "pure-algebra" representations of a radical or continued fractions better (no truncation) & deffer roots & divisions respectively?