Querki should have a single, unified "Number" type
Summary: We currently have Whole Number Type, Large Number Type and Floating Point Type. That makes sense from a programmer POV, but none at all to the end user -- they're just Numbers.
This observation is inspired by the Units feature, and the realization that I might want to be able to intermix 2.5 and 1/4 freely in the same field, and perform math on them sensibly. That strongly suggests that we're Doing It Wrong.
Instead of distinct types, we should have a single Number type, with a beefed-up parser that is heuristics-rich. It should be able to recognize fractions, and store them as fractions. It should recognize floats, and store them as doubles. It should recognize Way Too Big numbers, and represent those appropriately, and it should understand that ordinary Ints are just Ints.
Each value should be recognized and stored distinctly. This implies that the internal representation is basically a discriminated union: a flag saying what kind of Number this is, and the appropriate subtype to represent it. This will be a little entertaining on the serialization side, but shouldn't be rocket science.
When we implement this, include Fractions as a solid proof-of-concept. This is relevant because it illustrates that the math operators need to be smart about how to combine the various Numbers: operating on Fractions should be exact and correct, not short-cutting through Floats. But we should also be smart about how you combine the different types. This will take a bit of work, but should pay off big in the long run. We should probably implement _multiply as part of this, to show how to do it right.