Why not
```clojure
(defn starting-state
  ([]                 (starting-state []))
  ([commands] (map->CommandState ...)))
```

I'd also consider renaming it simply 'command-state'.