Module type Relude_Interface.ALIGN

Module type signature for an extension of ALIGN that adds an empty nil value.

Note that this has a parallel to the applicative typeclasses:

APPLY/APPLICATIVE/TRAVERSABLE

SEMIALIGN/ALIGN/CROSSWALK (or maybe ALIGNABLE?)

include SEMIALIGN;
include BsBastet.Interface.FUNCTOR;
type t('a);
let map: ('a => 'b) => t('a) => t('b);
let align: t('a) => t('b) => t(Relude_Ior_Type.t('a'b));
let alignWith: (Relude_Ior_Type.t('a'b) => 'c) => t('a) => t('b) => t('c);
let nil: t('a);