and reification would have solved this for you? Whenever someone tells me that type erasure is getting in their way, I become suspicious. It's usually a sign of pretty smelly code that relies too much on type-checking for its own good... usually a sign of lots of magic going on