1. A system comprising: a processor and a memory including a compiler configured to cause the processor to: defer binding of an operation to runtime in a programming language having binding semantics designed for a statically bound language, wherein binding of the operation is based on a compile time type of an expression associated with the operation, wherein the expression comprises a subexpression of a first type and wherein binding of the operation is based on a runtime type of a value of a subexpression of a second type.