pub fn transpose<A: DProp, B: DProp, C: DProp, D: DProp>( f: Eq<Eq<A, B>, Eq<C, D>>) -> Eq<Eq<A, C>, Eq<B, D>>
(a = b) = (c = d) => (a = c) = (b = d).
(a = b) = (c = d) => (a = c) = (b = d)