BTW wouldn't it be great if the compiler's error messages showed
each level of pass/fail for those constraints? For the docs, I
don't mind doing a few special case, hand written things, but the
compiler needs something a bit more generic.
I think the way to code that is whenever the compiler is printing
an expression that can convert to bool, color it based on the
result, and do this through the whole tree from the bottom up.
Then the use could tell at a glance which parts succeeded and
failed when reading the error message.
It'd be kinda nice if it showed the result of non-bool things too
but that's going to be hard to do on a console without becoming a
wall of text, even with whitespace formatting...
But the compiler will come later, for now I gotta do docs!