to go through a list of derived types and see which type the unknown type is?
You already have its type ID right there, so you know what it is. Am I missing something that you think is obvious but isn't?
I still need to modify a field from the unknown type
You can check for and set a field like this.
Local fooble:Foo = New Foo Local id:TTypeID = TTypeID.ForObject( fooble ) Local someField:TField = id.FindField("someField") If someField Then someField.Set( fooble, "0.25" ) EndIf
Just to make a point, all of this is in the documentation.