In Haskell, "variables" are much like the variables in mathematical equations. They may
need to satisfy certain rules, but they are not "counters" or "containers" in the style of
imperative programming. Just to get headed in the right way of thinking, consider some
linear equations like the ones below as an inspiration: