如果我有方法:
proveBar :: forall x . SingI x => Dict (Barable (Foo x))
proveBar = ...
那么我如何将其作为上下文传递给:
useBar :: forall foo . (forall x. SingI x => Barable (foo x)) => ...
useBar = ...
绑定foo
到Foo
?
Dict
在这里定义https://hackage.haskell.org/package/constraints-0.10.1/docs/Data-Constraint.html#g:2