in C/C++ you have void* and C#'s object, to create a variable to hold a genetic type. So in C# you can do: class A { object foo; } and var a = new A(); a.foo = any class...; does D have something like this or template parameters are used instead of?