Subtyped parameters in constructors

Not sure why you want this, but one approach is to dispatch on all subtypes of your type. For correctness, you may need to keep in mind that Union{} subtypes all types.

function (::Type{Q})(v, u) where {Q <: Quantity}
    # constructor code here
end

Also keep in mind there’s currently no generic way to access a bound (either lower or upper) of a type variable, see: