Haskell免费monad将monadic计算拆分为数据结构和解释器