microKanren with constraints