I think rather the issue here is that SomeType instances should behave more or less the same no matter whether they were constructed through TypeA or TypeB, and it would be wasteful for the compiler to specialise code on these two cases separately?
To try to answer the question from this point of view though: Julia does not provide a way to override <: , you would have to create your own function for the purpose of being able to make this distinction. With the new function overhaul though, it will be possible to overload it sparsely separately for an argument TypeA and TypeB, though.
