diff --git a/Prolude.hs b/Prolude.hs
--- a/Prolude.hs
+++ b/Prolude.hs
@@ -6,6 +6,7 @@
   , module Prolude.Exception
   , module Prolude.Foldable
   , module Prolude.Json
+  , module Prolude.Lens
   , module Prolude.Maybe
   , module Prolude.Monad
   , module Prolude.MonadIO
@@ -27,6 +28,7 @@
 import Prolude.Exception
 import Prolude.Foldable
 import Prolude.Json
+import Prolude.Lens
 import Prolude.Maybe
 import Prolude.Monad
 import Prolude.MonadIO
diff --git a/Prolude/Lens.hs b/Prolude/Lens.hs
new file mode 100644
--- /dev/null
+++ b/Prolude/Lens.hs
@@ -0,0 +1,6 @@
+module Prolude.Lens 
+    ( module Control.Lens
+    )
+where
+
+import Control.Lens ((.~), (^.), set, view)
diff --git a/Prolude/Uuid.hs b/Prolude/Uuid.hs
--- a/Prolude/Uuid.hs
+++ b/Prolude/Uuid.hs
@@ -7,6 +7,7 @@
     )
 where
 
+import Control.Monad.IO.Class (MonadIO(liftIO))
 import qualified Data.Maybe as Maybe
 import qualified Data.Text as Text
 import qualified Data.UUID as UUID
@@ -25,5 +26,5 @@
 wordsToUuid :: Word.Word32 -> Word.Word32 -> Word.Word32 -> Word.Word32 -> Uuid
 wordsToUuid = UUID.fromWords
 
-randomUuid :: IO.IO Uuid
-randomUuid = UUID.nextRandom
+randomUuid :: MonadIO m => m Uuid
+randomUuid = liftIO UUID.nextRandom
diff --git a/prolude.cabal b/prolude.cabal
--- a/prolude.cabal
+++ b/prolude.cabal
@@ -1,7 +1,7 @@
 cabal-version: >= 1.10
 
 name: prolude
-version: 0.0.0.12
+version: 0.0.0.13
 synopsis: ITProTV's custom prelude
 description:
     Prolude is ITProTV's custom prelude.
@@ -29,6 +29,7 @@
         Prolude.Exception
         Prolude.Foldable
         Prolude.Json
+        Prolude.Lens
         Prolude.Maybe
         Prolude.Monad
         Prolude.MonadIO
@@ -52,6 +53,7 @@
         , mtl >= 2.2.2 && < 2.3
         , QuickCheck >= 2.14.1 && < 2.15
         , quickcheck-instances >= 0.3.25 && < 0.4
+        , lens >= 4.19.2 && < 4.20
         , persistent >= 2.8 && < 3
         , persistent-mongoDB >= 2.8 && < 3
         , safe-exceptions >= 0.1.7 && < 0.2
