functor (A : Basic) ->
  sig
    val align_with : (('a, 'b) These.t -> 'c) -> 'a A.t -> 'b A.t -> 'c A.t
    val align : 'a A.t -> 'b A.t -> ('a, 'b) These.t A.t
    val falign : ('a -> 'a -> 'a) -> 'a A.t -> 'a A.t -> 'a A.t
    val pad_zip_with :
      ('a option -> 'b option -> 'c) -> 'a A.t -> 'b A.t -> 'c A.t
    val pad_zip : 'a A.t -> 'b A.t -> ('a option * 'b option) A.t
  end