module Bio.Utils.Map ( (!?!) ) where import GHC.Stack (HasCallStack) import Data.Map.Strict (Map, (!?)) import Data.Maybe (fromMaybe) infix 9 !?! (!?!) :: (HasCallStack, Ord k, Show k, Show a) => Map k a -> k -> a !?! :: forall k a. (HasCallStack, Ord k, Show k, Show a) => Map k a -> k -> a (!?!) Map k a m k k = forall a. a -> Maybe a -> a fromMaybe (forall a. HasCallStack => [Char] -> a error forall a b. (a -> b) -> a -> b $ [Char] "cobot-io: No key " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show k k forall a. [a] -> [a] -> [a] ++ [Char] " in Map: " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show Map k a m) forall a b. (a -> b) -> a -> b $ Map k a m forall k a. Ord k => Map k a -> k -> Maybe a !? k k