module abstractfactory.thincrustdough; import abstractfactory.dough; class ThinCrustDough : Dough { override string toString() const @safe pure nothrow { return "Thin Crust Dough"; } string opBinary(string op : "~")(string s) { return (cast(Object)this).toString() ~ s; } }