functions like transient, assoc, etc will throw helpful missing-protocol error when receiving invalid input but it will hang if it receives infinite (range).
this is related to issue below
https://ask.clojure.org/index.php/14578/even-range-hangs?show=14578#q14578
however, missing-protocol only hang in clojurescript but not clojure so I am wondering if this difference is intended.
example calls that should throws
- (transient (range))
- (assoc (range) :a 1)