1. A computer program product comprising one or more computer-readable storage media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for declaring a type that may have a structured permission, the method comprising: an act of defining a first permission partition within the type; and an act of defining a second permission partition within the type, such that instantiations of the type are permitted to have a different permission for the second permission partition than the first permission partition.