contextWrapS :: (T.Typeable k, Monad m, Monoid b)
             => (k -> RWST a b Context m z) -- ^ Action to take
             -> RWST a b Context m z -- ^ Default Action when context resolution fails
             -> RWST a b Context m z -- Resulting Action
contextWrapS action defAction = do
    c <- get
    contextWrap c action defAction
contextWrapS :: (T.Typeable k, Monad m, Monoid b)
             => (k -> RWST a b Context m z) -- ^ Action to take
             -> RWST a b Context m z -- ^ Default Action when context resolution fails
             -> RWST a b Context m z
contextWrapS action defAction = do
    c <- get
    contextWrap c action defAction
contextWrapS action defAction = do
    c <- get
    contextWrap c action defAction