1. A physical computer program product comprising one of more physical computer-readable media having thereon computer-executable instructions that are structured such that, when executed by a computing system, causes the computing system to perform a method for implying secondary contracts from a declarative program definition, the method comprising: an act of accessing a declarative service definition that declaratively defines a program; an act of formulating a primary application contract using the declarative service definition, the primary application contract including semantics for sending and receiving application messages during execution of operations by the program; and an act of analyzing the declarative service definition and the primary application contract to generate a secondary application contract that includes semantics for sending and receiving application messages during error handling for the program, wherein the generation of the secondary application contract comprises the following: an act of detecting one or more possible faults that may occur during execution of an operation of the program; for at least one of the one or more detected possible faults, an act of identifying one or more associated fault messages corresponding to the corresponding detected possible fault, an act of identifying an association between the corresponding possible fault and a portion of the primary application contract that will be replaced by the corresponding detected possible fault if the operation fails, and an act of populating the secondary application contract with at least a portion of the identified one or more associated fault messages corresponding to the corresponding identified possible fault.