for core D devs. "How Non-Member Functions Improve Encapsulation" by Scott Meyers http://www.drdobbs.com/cpp/how-non-member-functions-improve-encapsu/184401197 Note that I'm as guilty as anyone for not understanding or following these guidelines. I expect we can do much better.