Simon Brunning: "To sum up, the rules with toString() are: always override it, and never call it (directly). Instead, use String.valueOf() at all times." I take two things away from that, and a question: Prefer as first class functions as you get your hands onPrefer a null-object over non-object What about all the other java.lang.Object calls - should we never call them directly either? If the answer to the question is yes (and I think it might be - what's special about toString() other than being popular?) then its logical conclusion sounds like an argument for preferring functional programming over object programming (and I think it might be - what's special about your object's methods other than not being on Object?). (Now would be a really good time for a Smalltalker or OO type to pull me out of my mental quicksand by telling me there's a huge difference between object-oriented and heap-oriented programming... or something.) [the hives: abra cadaver]...