The parser combinators here can be used on more than just strings, as the readme acknowledges, but if you use it to parse clojure data structures (lists etc.), then, since they might contain nil, if-let [tok (first input)] ...) will occasionally consider the input empty even when it is not.
if-let [tok (first input)] ...)
since a data structure might contain nil, test for emptiness of input…
If it's not too much trouble can you push this fix to clojars? I have a project that is mostly useless without it.
pushed as part of 0.0.4