I think we could avoid the if statement by doing this.

```clojure
(extend-type nil
  ISeq
  (-first [this] nil))
```

So when calling `first` on an EmptyList it will return nil.