The DLR provides dynamically-updated codice_1 objects that cache the task of binding methods to objects. Since the type of an object—as well as the members it contains—in dynamic languages can change during a program lifetime, a method invocation must check the method list to see if the invocation is a valid one. codice_1 objects represent and cache the state of the object and its methods; any update to the object is reflected in the codice_1 objects as well. DLR routes all method invocations via the codice_1 objects, which then performs a fast lookup and binding of the method with the actual implementation.