sig
type direction = Fwd | Rev
val dir_rev : Flx_dlst.direction -> Flx_dlst.direction
type 'a dlst = { dir : Flx_dlst.direction; lst : 'a list; }
val dfwd : 'a Flx_dlst.dlst -> 'a list
val drev : 'a Flx_dlst.dlst -> 'a list
val dlst_fwd : 'a list -> 'a Flx_dlst.dlst
val dlst_rev : 'a list -> 'a Flx_dlst.dlst
val dlst_lst : 'a Flx_dlst.dlst -> 'a list
val dlst_dir : 'a Flx_dlst.dlst -> Flx_dlst.direction
val dlst_map : ('a -> 'b) -> 'a Flx_dlst.dlst -> 'b Flx_dlst.dlst
val append : 'a Flx_dlst.dlst -> 'a -> 'a Flx_dlst.dlst
val prepend : 'a Flx_dlst.dlst -> 'a -> 'a Flx_dlst.dlst
val cons : 'a list -> 'a -> 'a list
val concat : 'a Flx_dlst.dlst -> 'a Flx_dlst.dlst -> 'a Flx_dlst.dlst
end