So it seems to be that topic https://forum.lazarus.freepascal.org/index.php?topic=39416.0 >> Is and As operators require that the interface has a GUID defined Only that in my case the compiler happily compile (MyObjec as TCorbaWithoutGUID).foo; Shouldn't that give an error?