improved dispatcher, rewrote channels, added unbounded-unshift
removed if-let/when-let, added type hints
fix for broken channel closing
Merge pull request #28 from clojure/tims-optimizations

Tims optimizations