http://tech.esper.com/2014/07/30/algebraic-data-types/ D already has product type it is struct. But D lacks sum type also called tagged-union. Do you think it would be possible to add something like this to D2 ?