Robert Fraser: > In D if you want to treat a Template!(SomeClass) as a Template!(Object), > it's as easy as "cast(Template!(Object)) cast(void*) x" How is this related to Covariance/Contravariance and in/out keywords, as shown in C#4? Bye, bearophile