Signed-off-by: Jim Pryor <profjim@jimpryor.net>
A set is just another monadic layer. We've already talked about list monads, and we can for these purposes just use list monads to represent set monads. Instead of sets of possibilities, we'll be working with sets of `dpm`s, that is, sets of discourse possibility monads, or computations on discourse possibilities.
-As I said, for simplicity, we'll represent sets using lists:
+ As I said, for simplicity, we'll represent sets using lists:
type 'a set = 'a list;;
let empty_set : 'a set = [];;