library foreach_resolver_lib; uses System.Collections, System.Collections.Generic; var check:= false; type c1 = class (IEnumerable, IEnumerable) public _element: T2; function GetEnumerator: IEnumerator; begin check:= true; result:= lst( _element ).GetEnumerator; end; function IEnumerable.GetEnumerator: IEnumerator; begin end; function IEnumerable.GetEnumerator: IEnumerator; begin end; end; c2 = class (IEnumerable, IEnumerable) public _element: string; function GetEnumerator: IEnumerator; begin check:= true; result:= lst(_element).GetEnumerator; end; function IEnumerable.GetEnumerator: IEnumerator; begin end; function IEnumerable.GetEnumerator: IEnumerator; begin end; end; c3 = class (IEnumerable) public _element: object; function IEnumerable.GetEnumerator: IEnumerator; begin end; function GetEnumerator: IEnumerator; begin check:= true; result:= |_element|.GetEnumerator; end; end; c4 = class (c2) end; c5 = class (c1) end; end.