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