Returning a non-instantiable type as model is not funny.

If validation fails, that should be done at instance level, not class level.
Error shall never pass silently.