<unit name="ok_interface_implicit">
  <structure name="IMyInterface" name_with_generic="IMyInterface" type="interface">
    <ancestor name="IInterface" declaration="IInterface" />
    <routine name="PublicMethod" declaration="procedure PublicMethod;" visibility="public" type="procedure">
    </routine>
  </structure>
  <structure name="TMyRecord" name_with_generic="TMyRecord" type="record">
    <variable name="PublicField" declaration="PublicField: Integer;" visibility="public">
    </variable>
  </structure>
  <structure name="TMyPackedRecord" name_with_generic="TMyPackedRecord" type="packed record">
    <variable name="PublicField" declaration="PublicField: Integer;" visibility="public">
    </variable>
  </structure>
  <structure name="TMyClass" name_with_generic="TMyClass" type="class">
    <ancestor name="TObject" declaration="TObject" />
    <variable name="PublicField" declaration="PublicField: Integer;" visibility="public">
    </variable>
  </structure>
</unit>
