{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE StrictData #-} module MaybeHelp where import Control.Lens -- | Strict maybe data Maybe' a = Just' {__Just' :: a } | Nothing' fromJust' :: Maybe' a -> a fromJust' mx = case mx of Just' x -> x Nothing' -> error "no fromJust'" makeLenses ''Maybe'