Thanks to a conversation with
gwillen, anthropomorphizations of monadic computational effects:
Exception monad A + 1: "I will give you an A, OR MAYBE I WON'T"
Selection monad (A → R) → A: "I will give you an A, ONCE YOU GIVE ME A SCORING FUNCTION"
Output monad A × (B list): "I will give you an A, AND ALSO SOME OTHER STUFF"
Nondeterminism monad A list: "I will give you an A, AND ALSO ONE TO EACH OF YOUR FRIENDS IN PARALLEL DIMENSIONS"
CPS monad (A → R) → R: "Why don't you just tell me what you were going to do with that A, YOU CAN TRUST ME"
The selection-function monad is discussed in this neat MSFP'10 paper, "What Sequential Games, the Tychonoff Theorem and the Double-Negation Shift have in Common".
Exception monad A + 1: "I will give you an A, OR MAYBE I WON'T"
Selection monad (A → R) → A: "I will give you an A, ONCE YOU GIVE ME A SCORING FUNCTION"
Output monad A × (B list): "I will give you an A, AND ALSO SOME OTHER STUFF"
Nondeterminism monad A list: "I will give you an A, AND ALSO ONE TO EACH OF YOUR FRIENDS IN PARALLEL DIMENSIONS"
CPS monad (A → R) → R: "Why don't you just tell me what you were going to do with that A, YOU CAN TRUST ME"
The selection-function monad is discussed in this neat MSFP'10 paper, "What Sequential Games, the Tychonoff Theorem and the Double-Negation Shift have in Common".