replaced monad with applicative in ExplicitMin