Add more tests and fix defmulti schema / metadata propagation to cljs