I was reviewing the validation code today and decided to remove the implicit operator from the Validatable class as it had the nasty side-effect of causing you to lose any validation methods you may have already assigned to the Validatable type. Additionally, I created a ValidationResult class that provides some convenience methods for the IDictionary result of validating a collection of objects. The updated code can be viewed here.
I was showing the extensibility of this model at work today and was asked to put together a tutorial of some of the ways it can be used. I decided to post the original code along with the unit tests and the tutorial code for download. Enjoy.