Added an utility interface: Validate<P>