免費(Reader x)閱讀器(流 x)
特定
data Reader x a = Reader (x -> a)
我們有
data Free (Reader x) a
= Pure a
| Free (x -> Free (Reader x) a)
這是同構的
data Demand x a
= Satisfied a
| Hungry (x -> Demand x a)
或者相當於 Stream x -> a
data Stream x = Stream x (Stream x)