codice_6 (often also called "unit"), which receives a value of type codice_5 and wraps them into a "monadic value" of type codice_4, using the type constructor; and codice_9 (typically represented as codice_10), which receives a function codice_11 over type codice_5 and can transform monadic values codice_4 applying codice_11 to the unwrapped value codice_5.