"D strives to prevent implict conversion between user defined types at all costs."I don't think this is true. Implicit conversions are very useful. What D prevents are implicit conversions that can result in data loss, such as integer truncation.
I did talk about implict conversions between user defined types. D does not have implict construction, or implict casting like C++ does. I did not talk about builtin types.
-- Kind Regards Benjamin Thaut
