That is, the first two are purely functional with no side-effects (and, at least in Haskell-equivalent, the first is just syntactic sugar for the second), while the third is imperative, with ...