For parity with Clojure, add runtime checks in map conj implementations such that vector arguments must be pairs.
Rationale: Even though this would reject some programs, those programs are incorrect and non-portable to Clojure.
Added updated patch with the above three optimizations. Benchmarks indeed looking better now.
CLJS-3111-3.patch passes CI
CLJS-3111-3.patch added to Patch Tender
CLJS-3111-3.patch no longer applies
Patch CLJS-3111-4 added