add cljs.core.logic protocols from master