Can it be called `cons` or something? I don't want to functions that repeat the module name, preferring that people use the namespace prefix instead. E.g. `State.runState` < `State.run`

Also, is it required that the head and tail are connected? Can they be separate arguments?