Exceptions on failed coercions is actually something I'm greatly looking forward to, and I'd like to throw in a quick argument for them. IMO, domain objects must be able to ensure their own integrity. In my opinion, an invalid domain object should never exist, and is an exceptional circumstance indeed. Maintaining this integrity is an area where Virtus really shines, and exceptions on failed coercions would make it perfect. 

I can see the pain point brought up by @mbj , but I would suggest that the real issue there is using domain objects directly as form validators. A true domain object should be application-agnostic. Form validation is very much application-specific, and I've found it almost always necessary to use a separate presentation object for a form, which handles the form-specific validations, messages, control flow, etc. 

I'd hate for a presentational detail to be the reason this important domain feature is left out.