library foreach_resolver_lib; uses System, 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; c6 = class (IEnumerable, Dictionary, integer>>>) public _element: IEnumerable, Dictionary, integer>>; function GetEnumerator: IEnumerator, Dictionary, integer>>>; begin check:= true; var l:= new List, Dictionary, integer>>>; l.Add(_element); result:= l.GetEnumerator; end; function IEnumerable.GetEnumerator: IEnumerator; begin end; end; end.