1. A computer readable storage medium storing computer executable instructions for controlling a computing device to perform a method comprising: defining an imperative framework having a plurality of types; and defining at least one of the plurality of types as an immutable type wherein the immutable type includes at least one immutable field.