Description
ScopeH and ScopeT extras for bound.
Description
Provides more complex Scope variants; ScopeT and ScopeH:
Scope b f a ~ ScopeT b IdentityT f a ~ ScopeH b f f a
ScopeT b t f a ~ ScopeH b (t f) f a
ScopeH probably should be preferred over ScopeT. Latter is left here for completeness.
Simple implementations of ScopeH and ScopeT would be similar (sans type arguments) to Bound.Scope.Simple.
Look into examples/ directory for System F and Bidirectional STLC implemented with a help of ScopeH.