bearophile: > Is this the same thing you are saying? Yeah, though in D you'd have to use objects and interfaces rather than primitives. Casting to the interface would return null if it doesn't match, so it compiles but then errors at runtime.