pub type POrSnd<A, B, C, D> = Imply<And<Q<Or<A, B>, C>, Imply<C, D>>, Imply<Not<A>, Q<B, D>>>;
Sends second argument of Logical OR to higher level.