If we're able to solve this, it would get rid of this (sub)type-passing/wrapping-and-using crap...
So we'd have to parse the string and figure out the type from that... Any idea on how to do that properly?