diff --git a/Control/Exception/FileLocation.hs b/Control/Exception/FileLocation.hs
--- a/Control/Exception/FileLocation.hs
+++ b/Control/Exception/FileLocation.hs
@@ -23,3 +23,22 @@
   loc <- qLocation
   let locStr = locationToString loc
   [|(\mkEx -> throwIO (mkEx (locStr ++ " " ++ errMsg)))|]
+
+{- usually want to make a located vesion of a function rather than use this.
+ - perhaps it could be used to quickly make a located version
+-- {-# LANGUAGE DeriveDataTypeable, ExistentialQuantification #-}
+-- import Data.Typeable (Typeable)
+data ReThrownException = forall e. (Exception e, Show e) => ReThrownException String e
+  deriving (Typeable)
+
+instance Show ReThrownException where
+  show (ReThrownException s e) = "ReThrownException: " ++ s ++ "\n" ++ show e
+
+instance Exception ReThrownException
+
+reThrow :: Q Exp
+reThrow = do
+  loc <- qLocation
+  let locStr = locationToString loc
+  [|\risky -> E.catch risky (\e -> throwIO (ReThrownException locStr e))|]
+  -}
diff --git a/FileLocation.hs b/FileLocation.hs
--- a/FileLocation.hs
+++ b/FileLocation.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE TemplateHaskell #-}
 -- | see Debug.FileLocation module for more definitions
 module FileLocation
-  ( err, undef
+  ( err, undef, fromJst, fromRht
   , debug, debugM, debugMsg, dbg, dbgMsg, trc, ltrace, ltraceM, strace
   , locationToString
   , thrwIO, thrwsIO
@@ -39,3 +39,21 @@
   loc <- qLocation
   let prefix = (locationToString loc) ++ " "
   [|trace (prefix ++ "undefined") undefined|]
+
+-- | like fromJust, but also shows the file location
+fromJst :: Q Exp
+fromJst = do
+  loc <- qLocation
+  let msg = (locationToString loc) ++ " fromJst: Nothing"
+  [|\m -> case m of
+            Just v -> v
+            Nothing -> error msg|]
+
+-- | like fromRight, but also show the file location
+fromRht :: Q Exp
+fromRht = do
+  loc <- qLocation
+  let msg = (locationToString loc) ++ " fromRht: Left: "
+  [|\m -> case m of
+            Right v -> v
+            Left e -> error (msg ++ show e)|]
diff --git a/file-location.cabal b/file-location.cabal
--- a/file-location.cabal
+++ b/file-location.cabal
@@ -1,5 +1,5 @@
 Name:                file-location
-Version:             0.4.0
+Version:             0.4.1
 Synopsis:            common functions that show file location information
 Homepage:            https://github.com/gregwebs/FileLocation.hs
 License:             BSD3
