diff --git a/Util.hs b/Util.hs
--- a/Util.hs
+++ b/Util.hs
@@ -48,8 +48,11 @@
 untilJust mmx = mmx >>= maybe (untilJust mmx) pure
 
 list :: b -> (a -> [a] -> b) -> [a] -> b
-list y _ []     = y
-list _ f (x:xs) = f x xs
+list y f = list' y (liftA2 f NE.head NE.tail)
+
+list' :: b -> (NonEmpty a -> b) -> [a] -> b
+list' y _ []     = y
+list' _ f (x:xs) = f (x:|xs)
 
 infixr 9 &, ∘, ∘∘
 
diff --git a/util.cabal b/util.cabal
--- a/util.cabal
+++ b/util.cabal
@@ -1,5 +1,5 @@
 name:                util
-version:             0.1.3.0
+version:             0.1.4.0
 synopsis:            Utilities
 -- description:         
 license:             BSD3
