While this allows for greater flexibility in OCaml, it also means that the compiler cannot automatically ensure the purity of code, and it is up to the programmer to ensure that impure functions are used correctly. (says ChatGPT)