Class When<P extends Choose<?>>