Inside aBpmProcessInstance the Form is accessed directly but in a aBpmProcessDefinition a collection with indexes is used so the field type is added between square brakets [].
This last exception was implemented because a field can change it's type in a form BUT indexes are used so different types are allocated in different collections. If not it will generate anImproperOperation at GemStone/S level.