code: function resolveType(o) {
  			var FNType;
  			if (typeof o.type === "string" ) {
  				if ( o.type[0] === "." ) {
  					FNType = ObjectPath.get(o.type.slice(1), oEnv.oContext);
  				} else {
  					FNType = ObjectPath.get(o.type);
  				}
  				// TODO find another solution for the type parameters?
  				if (typeof FNType === "function") {
  					o.type = new FNType(o.formatOptions, o.constraints);
  				} else {
  					o.type = FNType;
  				}
  				// TODO why are formatOptions and constraints also removed for an already instantiated type?
  				// TODO why is a value of type object not validated (instanceof Type)
  				delete o.formatOptions;
  				delete o.constraints;
  			}
  		}
docs: /*
  Resolves a data type name and configuration either to a type constructor or to a type instance.
  
  The name is resolved locally (against oEnv) if it starts with a '.', otherwise against
  the global context (window).
  
  The resolution is done inplace. If the name resolves to a function, it is assumed to be the
  constructor of a data type. A new instance will be created, using the values of the
  properties 'constraints' and 'formatOptions' as parameters of the constructor.
  Both properties will be removed from <code>o</code>.
  
  @param {object} o Object from which a property should be read and resolved