consteval bool implicitly_convertible(QuantitySpec auto from, QuantitySpec auto to);
consteval bool explicitly_convertible(QuantitySpec auto from, QuantitySpec auto to);
consteval bool castable(QuantitySpec auto from, QuantitySpec auto to);
consteval bool interconvertible(QuantitySpec auto qs1, QuantitySpec auto qs2);
template<QuantitySpec Q>
consteval QuantitySpec auto get-kind-tree-root(Q q); // exposition only
template<QuantitySpec Q>
consteval QuantityKindSpec auto get_kind(Q);
consteval QuantitySpec auto get_common_quantity_spec(QuantitySpec auto... qs)
requires see below;
template<QuantitySpec auto A, QuantitySpec auto B>
consteval auto get-common-base(); // exposition only
template<QuantitySpec Child, QuantitySpec Parent>
consteval bool is-child-of(Child ch, Parent p); // exposition only