{-# LANGUAGE ExistentialQuantification, ConstraintKinds, Safe #-}

module Data.Columbia.DynamicWithCtx where

import Data.Typeable

data DynamicWithCtx ctx = forall t. (ctx t, Typeable t) => DynamicWithCtx !t

dynamicWithCtx :: (ctx t, Typeable t) => t -> DynamicWithCtx ctx
dynamicWithCtx = DynamicWithCtx