; What color is your function? ; Impure functions are functions that can call both pure and impure functions. ; Pure functions can only call pure functions. ; Impure function names end in an exclamation mark (!) by convention. ; The top-level context is impure but has special rules ; related to `import!`, `let!`, and other builtins. ; pure function (let! f (\[x] x)) ; impure function (let! g! (\![x] (print! x)))