sig type ('p, 'q, 'a) t val align_with : (('a, 'b) These.t -> 'c) -> ('p, 'q, 'a) Align.Basic3.t -> ('p, 'q, 'b) Align.Basic3.t -> ('p, 'q, 'c) Align.Basic3.t end