On Wednesday, 3 July 2019 at 13:34:38 UTC, Bert wrote: > Interfaces are required because D does not support MI of > classes. You will not be able to substitute one model for the > other without inheritance. It's required. All I did was remove the interfaces: https://run.dlang.io/gist/3b14d69aa323d83e2736a0e2e0dece3f