通过单子，编程者可以把复杂的函数序列变成简洁的管道，它抽象出了辅助数据管理、控制流或副作用。单子可以简化范围宽广的问题，比如处理潜在（通过codice_1单子），或将值保持在一个灵活而良好形成的列表中（使用codice_2单子）。因为单子使得某种计算的语义明确，它们还可以用来实现便捷的语言特征。一些语言比如Haskell，甚至在它们的核心库中为通用单子结构提供预制的定义和常用实例。
概述.单子可以通过定义一个类型构造子codice_3和两个运算即codice_4和bind来建立。