过实化特定种类的计算，单子不仅封装了这个计算模式的冗长细节，而且它以声明式方式来这么做，增进了代码清晰性。因为单子值所显式代表的不只是计算出的值，而是计算出的作用（effect），单子表达式在上可以被替代为它们的值，非常像纯表达式能做到的那样，允许了基于重写的很多技术和优化。典型的，编程者会使用codice_19来把单子函数链接成一个序列，这导致了一些人把单子描述为“可编程的分号”，参照众多指令式语言使用分号来分割语句。但是，需要强调单子实际上不确定计算的次序；甚至在使用它们作为中心特征的语言中，更简单