updated for initial work on implementing microKanren