try wrapping LLVM objects like core.logic