1. In a computer system, a method of expressing a code invocation contract in computer program code, wherein the computer program code is stored on a computer-readable medium, and wherein the computer program code is operable to cause a computer to perform according to instructions in the computer program code, the method comprising: adding one or more keywords to a function interface for a function in the computer program code, wherein the one or more keywords define the code invocation contract for the function, the contract having one or more contract requirements; wherein the one or more contract requirements are independent of function call context.