When lowering to the EmitC dialect, MLIR inserts a builtin.unrealized_conversion_cast to connect types that do not have a direct conversion. In this case, the lowering produces a cast from !emitc.ptr ...