Currently in D you would be forced to create a vtable struct manually.
Or I could just use classes. The cure shouldn't be worse than the disease.
But if we had something like signatures you could do this: ```d struct Foo { //... } struct Bar { InputRange input; } void doIt() { Bar bar; Foo* foo = new Foo; bar.input = foo; } ```
This would be nice but since we don't it doesn't really matter. unfortunately.