This package provides an easier way to work with existential data types. Normally, GHC will reject types that try to instantiate unification variables to polymorphic types (AKA impredicative types). This package uses a data contructor to hide that away, so you can nest as deeply as you like.
See tests for example code (more coming soon).