16. At least one non-transitory, tangible computer-readable storage medium, comprising computer-executable instructions that, when executed by at least one processor, comprise: instructions for calling a method having a user-defined element that returns an output value; instructions implementing code dependent on the returned output value; an indication that a type of the output value was determined during compilation of a source program to produce the computer-executable instructions based on type inference using a mapping, the mapping associating a method having a user-defined element with a set of one or more types for input values for a method to a type for each of one or more output values, the source program associated with a dynamic language, the source program having a plurality of predefined types, a plurality of user-defined types, and a plurality of methods, each method accepting input values and producing output values, the output values of a predefined type or a user-defined type; instructions for determining whether the returned output value is used consistently with the type in the code dependent on the returned output value; and instructions for performing a corrective action when the returned output value is determined not to be used consistently with the type.
16. At least one non-transitory, tangible computer-readable storage medium, comprising computer-executable instructions that, when executed by at least one processor, comprise: instructions for calling a method having a user-defined element that returns an output value; instructions implementing code dependent on the returned output value; an indication that a type of the output value was determined during compilation of a source program to produce the computer-executable instructions based on type inference using a mapping, the mapping associating a method having a user-defined element with a set of one or more types for input values for a method to a type for each of one or more output values, the source program associated with a dynamic language, the source program having a plurality of predefined types, a plurality of user-defined types, and a plurality of methods, each method accepting input values and producing output values, the output values of a predefined type or a user-defined type; instructions for determining whether the returned output value is used consistently with the type in the code dependent on the returned output value; and instructions for performing a corrective action when the returned output value is determined not to be used consistently with the type. 17. The at least one non-transitory, tangible computer-readable storage medium of claim 16 , wherein the instructions for performing a corrective action comprise instructions for initiating a recompilation of the code dependent on the returned output value.