This plugin provides the programmer with a way to annotate certain
types using a Fuse pragma from the
fusion-plugin-types
package. The programmer would annotate the types that are to be
eliminated by fusion. During the simplifier phase the plugin goes
through the relevant bindings and if one of these types are found
inside a binding then that binding is marked to be inlined
irrespective of the size.
This plugin was primarily motivated by
streamly but it can
be used in general.