Make core/process a multimethod
Refactor with-cursor