phew. five hours later, i've translated *all types* used by Scopes into this format, from which C++ definitions will be derived.
what i like particularly here is that all sub-enums like ICmpKind or TypeKind, and even all error codes, are flattened into the main ValueKind one, but can still be their own enumerator types.
many branch-dependent special cases are now unified this way.
https://hg.sr.ht/~duangle/scopes/browse/src/Value.sx?rev=based