Selective Functors

From Andrey Mokhov's twitter feed:

Is there any intermediate abstraction between applicative functors and monads? And if yes, what is it? In a new paper with @geo2A, @simonmar and @dimenix we explore "selective functors", which are essentially applicative functors with branching:

We've implemented selective functors in Haskell:, OCaml:, and even Coq: (the Coq repository contains some proofs of correctness that our selective instances are lawful). And there is also a PureScript fork!

This entry originally appeared at, and may be a summary or abridged version.