One takeaway from this is despite my loathing of throwing constructors, they are a part of D and I need to make them work properly. I.e. I am not dictating everything in D based on my personal opinions. I try to pick my battles.