content: 
  -- | This is a basic prelude-like module that adds a bunch of common datatypes
  -- and functions to the 'Prelude'.
  
  module Termonad.Prelude
    ( module X
    , hPutStrLn
    , whenJust
    , stderr
    , tshow
    ) where
  
  import Control.Concurrent.MVar as X (MVar, modifyMVar, modifyMVar_, newMVar, readMVar, withMVar)
  import Control.Exception as X (IOException, try)
  import Control.Lens as X ((&))
  import Control.Monad as X (join, unless, void, when, (<=<))
  import Control.Monad.IO.Class as X
  import Control.Monad.Trans.Class as X (lift)
  import Control.Monad.Trans.Maybe as X (MaybeT(MaybeT), runMaybeT)
  import Data.ByteString as X (ByteString)
  import Data.Function as X (on)
  import Data.Functor as X (($>))
  import Data.Int as X (Int32)
  import Data.Maybe as X (catMaybes, fromMaybe)
  import Data.Proxy as X
  import Data.String as X (IsString)
  import Data.Text as X (Text)
  import Data.Text (pack)
  import qualified Data.Text.IO as TextIO
  import Data.Word as X (Word8, Word32)
  import GHC.Generics as X (Generic)
  import Prelude as X
  import System.IO (Handle, stderr)
  
  whenJust :: Monoid m => Maybe a -> (a -> m) -> m
  whenJust = flip foldMap
  
  hPutStrLn :: MonadIO m => Handle -> Text -> m ()
  hPutStrLn hndl = liftIO . TextIO.hPutStrLn hndl
  
  tshow :: Show a => a -> Text
  tshow = pack . show
  