1. A method for relaxing artificial restrictions associated with a programming language and extend delegates associated with such programming language, without changing a runtime structure associated therewith, comprising: within a Common Runtime Language (CRL) environment, accessing source code written in a programming language; using the CRL environment to process the source code, wherein processing the source code includes: identifying an impermissible expression in the source code, the impermissible expression improperly defining a delegate construction according to the programming language, such that the impermissible expression is not type-safe; inserting a stub in place of the impermissible expression defining an improper delegate construction, wherein the stub provides a proper exact match in the programming language, the exact match being type-safe, and wherein the stub has a form of: Function Y exact. (X As Z) As Z; and defining a constructor by a delegate class passed a specification of an object method to make the stub convert a currently impermissible expression to a currently permissible delegate construction; and moving a requirement of the CRL environment that a check for an exact match be performed at delegate creation, such that the CRL environment instead checks for an exact match at a function call.
1. A method for relaxing artificial restrictions associated with a programming language and extend delegates associated with such programming language, without changing a runtime structure associated therewith, comprising: within a Common Runtime Language (CRL) environment, accessing source code written in a programming language; using the CRL environment to process the source code, wherein processing the source code includes: identifying an impermissible expression in the source code, the impermissible expression improperly defining a delegate construction according to the programming language, such that the impermissible expression is not type-safe; inserting a stub in place of the impermissible expression defining an improper delegate construction, wherein the stub provides a proper exact match in the programming language, the exact match being type-safe, and wherein the stub has a form of: Function Y exact. (X As Z) As Z; and defining a constructor by a delegate class passed a specification of an object method to make the stub convert a currently impermissible expression to a currently permissible delegate construction; and moving a requirement of the CRL environment that a check for an exact match be performed at delegate creation, such that the CRL environment instead checks for an exact match at a function call. 9. The method of claim 1 , further comprising passing an instance as an argument, and defining an instance delegate.