diff --git a/library/PrimitiveExtras/Prelude.hs b/library/PrimitiveExtras/Prelude.hs
--- a/library/PrimitiveExtras/Prelude.hs
+++ b/library/PrimitiveExtras/Prelude.hs
@@ -97,6 +97,10 @@
 -------------------------
 import Focus as Exports (Focus(..))
 
+-- list-t
+-------------------------
+import ListT as Exports (ListT(..))
+
 
 data Product2 a b = Product2 !a !b
 
diff --git a/library/PrimitiveExtras/SmallArray.hs b/library/PrimitiveExtras/SmallArray.hs
--- a/library/PrimitiveExtras/SmallArray.hs
+++ b/library/PrimitiveExtras/SmallArray.hs
@@ -5,6 +5,7 @@
 import PrimitiveExtras.Types
 import GHC.Exts hiding (toList)
 import qualified Focus
+import qualified ListT
 
 
 {-| A workaround for the weird forcing of 'undefined' values int 'newSmallArray' -}
@@ -139,6 +140,10 @@
       iterate (succ index) newState
     else return state
   in iterate 0 initialState
+
+{-# INLINE elementsListT #-}
+elementsListT :: Monad m => SmallArray a -> ListT m a
+elementsListT = ListT.fromFoldable
 
 {-# INLINE onFoundElementFocus #-}
 onFoundElementFocus :: Monad m => (a -> Bool) -> (a -> Bool) -> Focus a m b -> Focus (SmallArray a) m b
diff --git a/library/PrimitiveExtras/SparseSmallArray.hs b/library/PrimitiveExtras/SparseSmallArray.hs
--- a/library/PrimitiveExtras/SparseSmallArray.hs
+++ b/library/PrimitiveExtras/SparseSmallArray.hs
@@ -128,6 +128,10 @@
 elementsUnfoldM :: Monad m => SparseSmallArray a -> UnfoldM m a
 elementsUnfoldM (SparseSmallArray _ array) = SmallArray.elementsUnfoldM array
 
+{-# INLINE elementsListT #-}
+elementsListT :: SparseSmallArray a -> ListT STM a
+elementsListT (SparseSmallArray _ array) = SmallArray.elementsListT array
+
 {-# INLINE onElementAtFocus #-}
 onElementAtFocus :: Monad m => Int -> Focus a m b -> Focus (SparseSmallArray a) m b
 onElementAtFocus index (Focus concealA revealA) = Focus concealSsa revealSsa where
diff --git a/primitive-extras.cabal b/primitive-extras.cabal
--- a/primitive-extras.cabal
+++ b/primitive-extras.cabal
@@ -1,43 +1,25 @@
-name:
-  primitive-extras
-version:
-  0.6.4.1
-category:
-  Primitive
-synopsis:
-  Extras for the "primitive" library
-homepage:
-  https://github.com/metrix-ai/primitive-extras
-bug-reports:
-  https://github.com/metrix-ai/primitive-extras/issues
-author:
-  Nikita Volkov <nikita.y.volkov@mail.ru>
-maintainer:
-  Metrix.AI Tech Team <tech@metrix.ai>
-copyright:
-  (c) 2018, Metrix.AI
-license:
-  MIT
-license-file:
-  LICENSE
-build-type:
-  Simple
-cabal-version:
-  >=1.10
+name: primitive-extras
+version: 0.6.5
+category: Primitive
+synopsis: Extras for the "primitive" library
+homepage: https://github.com/metrix-ai/primitive-extras
+bug-reports: https://github.com/metrix-ai/primitive-extras/issues
+author: Nikita Volkov <nikita.y.volkov@mail.ru>
+maintainer: Metrix.AI Tech Team <tech@metrix.ai>
+copyright: (c) 2018, Metrix.AI
+license: MIT
+license-file: LICENSE
+build-type: Simple
+cabal-version: >=1.10
 
 source-repository head
-  type:
-    git
-  location:
-    git://github.com/metrix-ai/primitive-extras.git
+  type: git
+  location: git://github.com/metrix-ai/primitive-extras.git
 
 library
-  hs-source-dirs:
-    library
-  default-extensions:
-    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
-  default-language:
-    Haskell2010
+  hs-source-dirs: library
+  default-extensions: Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
+  default-language: Haskell2010
   exposed-modules:
     PrimitiveExtras.Bitmap
     PrimitiveExtras.SmallArray
@@ -58,24 +40,20 @@
     deferred-folds >=0.6.5 && <0.7,
     focus >=1 && <1.1,
     foldl >=1 && <2,
+    list-t >=1.0.1 && <1.1,
     primitive >=0.6.4 && <0.7,
     profunctors >=5 && <6,
     vector >=0.12 && <0.13
 
 test-suite test
-  type:
-    exitcode-stdio-1.0
-  hs-source-dirs:
-    test
-  main-is:
-    Main.hs
+  type: exitcode-stdio-1.0
+  hs-source-dirs: test
+  main-is: Main.hs
+  default-extensions: Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
+  default-language: Haskell2010
   other-modules:
     Main.Gens
     Main.Transaction
-  default-extensions:
-    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
-  default-language:
-    Haskell2010
   build-depends:
     cereal,
     deferred-folds,
