µKanren in JavaScript