This module defines two classes. Forkable m n means a monad n may be forked in m.
ForkableT t means that applying the transformer to n and m will mean you can still fork t n in t m.

The reason we need a separate class for monad transformers is because often times the "forkability" of a transformed monad does not depend on the underlying monad, only it's forkability. This is the case for example for most standard monad transformers.