different types. But if we generalize bind so that both arguments are
of type `'a -> M 'a`, then we get plain identity laws and
associativity laws, and the monad laws are exactly like the monoid
-laws (see <http://www.haskell.org/haskellwiki/Monad_Laws>).
+laws (see <http://www.haskell.org/haskellwiki/Monad_Laws>, near the bottom).
Monad outlook
though without explicitly using monads.
All of the code in the discussion below can be found here: [[intensionality-monad.ml]].
-To run it, download the file, start Ocaml, and say `# #use
-"intensionality-monad.ml";;`.
+To run it, download the file, start Ocaml, and say
+
+ # #use "intensionality-monad.ml";;
+
+Note the extra `#` attached to the directive `use`.
Here's the idea: since people can have different attitudes towards
different propositions that happen to have the same truth value, we