record Queue1 : Type -> TypeFunctor Queue1singleton : a -> Queue1 aadd : a -> Queue1 a -> Queue1 aremove : Queue1 a -> (a, Lazy (Maybe (Queue1 a)))filter : (a -> Bool) -> Queue1 a -> Maybe (Queue1 a)toList1 : Queue1 a -> List1 aReturns a `List1` with newly added elements on the right and older elements in the left