interface Sized : (Type -> Type) -> Typesize : d a -> Intsize : Sized d => d a -> Intdata ImplicitCatDeque : (Type -> Type) -> Type -> TypeShallow : d a -> ImplicitCatDeque d aDeep : d a -> Lazy (ImplicitCatDeque d (CmpdElem d a)) -> d a -> Lazy (ImplicitCatDeque d (CmpdElem d a)) -> d a -> ImplicitCatDeque d a(Deque d, Sized d) => CatenableDeque (ImplicitCatDeque d)(Deque d, Sized d) => Deque (ImplicitCatDeque d)