Yesterday, part of a problem I was solving required me to add a “count” property onto a structure I was building. Its basically a tree structure, so each level can have multiple items under it. Kinda like a family tree… yeah, that’s a good example, so I’ll stick with it.
My problem was this… If I said GreatGrandpa.Count, what would you expect as a result? Should it just count his children, or should it count all of his descendants? It might be small, but its important when you’re designing things that other real people have to use…
I saw a great example of this going wrong (in a non programming context) this morning on Ryan Farley‘s blog about trying to find a map that showed where a local restaurant was. Here’s what he got:

How’s that for a useful result? “You know what, I can’t find exactly where it is, but its somewhere in america.” Gee, thanks!
Ha ha, but what if GreatGrandpa was a queer. Then he would have no descendants. Therefore it would return zero.