erase
Erase one type descriptor to Object when a snippet cannot name its class. An array erases its ELEMENT type and keeps its dimensions: the real array is assignable to [Ljava/lang/Object; by covariance and it is still an array, so arraylength/aaload keep verifying — collapsing to a bare Object would not. Primitives and accessible types pass through untouched, so the common path keeps its precise types — and with them the JIT's ability to inline the call site.