with :: Verified p a -> (forall s. Reifies s (Verified p a) => Lift p a s) -> a
with d v = reify d (lower . asProxyOf v)
  where
    asProxyOf :: f s -> Proxy s -> f s
    asProxyOf x _ = x

using :: forall p a b. VerifiableConstraint p => Verified p a -> (p a => b) -> b
using d m = reify d $ \(_ :: Proxy s) ->