De acuerdo con A History of Haskell: Being Lazy With Class (ver sección 7) inicialmente se consideraron tres modelos diferentes: transmisiones , continuaciones y "pasaje del mundo" (no sé mucho sobre Clean, pero parece que esta es la manera Clean) ?)
El último párrafo de la sección 7.2 indica que el concepto de tipo de unicidad no se desarrolló en este momento:
Sin embargo, este modelo de "traspaso mundial" nunca fue un contendiente serio para Haskell, porque no vimos una manera fácil de garantizar el acceso "de un solo hilo" al estado mundial. (Los diseñadores de Clean finalmente resolvieron este problema mediante el uso de "tipos de unicidad")
El concepto de mónadas parece haberse introducido (reutilizado de otro trabajo) en revisiones posteriores de Haskell, ya que resultó en un código más limpio (en comparación con las continuaciones / secuencias):
El enfoque monádico dominó rápidamente los modelos anteriores. Los tipos son más compactos y más informativos.