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