addToContext    :: (T.Typeable t)
                => Context -- ^ The old context
                -> t -- ^ The new value
                -> Context -- ^ The resulting value added to the context

addToContext c t = Context $ Map.insert (T.typeOf t) (D.toDyn t) (unwrapContext c)
addToContext    :: (T.Typeable t)
                => Context -- ^ The old context
                -> t -- ^ The new value
                -> Context
addToContext c t = Context $ Map.insert (T.typeOf t) (D.toDyn t) (unwrapContext c)
addToContext c t = Context $ Map.insert (T.typeOf t) (D.toDyn t) (unwrapContext c)