NonDetEff is the only effect exported from the top module, which is inconsistent with the rest. Its definition has to stay in the Control.Monad.Freer.Internal module, to avoid orphan instances, but it still should have its own module. Functions makeChoiceA and msplit should be moved in to that newly created module.
NonDetEff
is the only effect exported from the top module, which is inconsistent with the rest. Its definition has to stay in theControl.Monad.Freer.Internal
module, to avoid orphan instances, but it still should have its own module. FunctionsmakeChoiceA
andmsplit
should be moved in to that newly created module.Decided by @liskin, @xkollar, @Siprj and I.