1. It's just a matter of curiosity. But why is a Quaternion not a subtype of Number? Like in complex.jl: ```julia struct Complex{T<:Real} <: Number re::T im::T end ``` 2. Should the following function be implemented? ```julia -(q::Quaternion, x::Real) = Quaternion(real(q) - x, imag(q)) ```