Port of core.logic to ClojureCLR