question: public Prototype withFirstParameter ( Type param ) { String newDesc = "(" + param . getDescriptor ( ) + descriptor . substring ( 1 ) ; StdTypeList newParams = parameterTypes . withFirst ( param ) ; newParams . setImmutable ( ) ; Prototype result = new Prototype ( newDesc , returnType , newParams ) ; return putIntern ( result ) ; }
target:  Returns a new interned instance, which is the same as this instance, except that it has an additional parameter prepended to the original's argument list.