areduce where possible (cljs)