Selection monad transformer.
https://www.cs.bham.ac.uk/~mhe/papers/selection-escardo-oliva.pdf
https://arxiv.org/pdf/1406.2058.pdf
https://github.com/ghc/packages-transformers/blob/0_5_4_0/Control/Monad/Trans/Select.hs