Higher-order Logic Programming with λKanren