Nice post,
mstone. I'm curious as to your thoughts of how all this relates to
guard clauses as mentioned by
dws. To me they seem very similar, but I sense that perhaps guard clauses dance around the issue of self-enforcement by the program, as opposed to merely hammering your input data into normalized form.
Matt