Actually, I found something:
"Describing behaviors and processes within a DSL is our main goal in developing a custom monad. But there is another interesting goal, which is providing a restricted view of a set of operations... In general, a restrictive monad comes only with a subset of the operations that the larger monad provides"
i.e. a FileSystem monad to replace IO

does anyone have a definition for

`Restrictive Monad`

?@Jonathan Lorimer I've never heard of them before, but I found some google search results. Is it not defined where you found the term originally?

No, it isn't. I found it in

`The Book of Monads`

and it is introduced to refer to Final, Initial, and Free monadsActually, I found something:

"Describing behaviors and processes within a DSL is our main goal in developing a custom monad. But there is another interesting goal, which is providing a restricted view of a set of operations... In general, a restrictive monad comes only with a subset of the operations that the larger monad provides"

i.e. a FileSystem monad to replace IO

Okay, this makes sense now, I had read quite a ways past that and just forgot about it I guess