template<UnitMagnitude M>
friend consteval UnitMagnitude auto operator*(unit-magnitude lhs, M rhs);
friend consteval auto operator/(unit-magnitude lhs, UnitMagnitude auto rhs);
template<UnitMagnitude Rhs>
friend consteval bool operator==(unit-magnitude, Rhs);
template<int Num, int Den = 1>
friend consteval auto pow(unit-magnitude base); // exposition only
template<MagArg auto V>
constexpr UnitMagnitude auto mag = see below;
template<std::intmax_t N, std::intmax_t D>
requires(N > 0)
constexpr UnitMagnitude auto mag_ratio = see below;
template<MagArg auto Base, int Num, int Den = 1>
constexpr UnitMagnitude auto mag_power = pow<Num, Den>(mag<Base>);