J has 'monads' but they're just functions that take a specific number of arguments. Terminology overloading is unfortunate.
miniblog.
Related Posts
I rather like how Scheme treats boolean literals (#f and #t) as syntactically distinct from normal variables. The syntax feels tidier than overloading variable names.
(Though I'm still amused that 0x12 is a valid variable name in emacs lisp!)
J has 'monads' but it uses the term for functions taking a specific number of arguments. Monads are bad enough without overloading the term!