j/unify: substitution and unification algorithms