TFunctionalStringList = class helper for TStringList
public
function Filter(fun: TStringListFilterMethod): TStringList;
function Reduce(fun: TStringListReduceMethod;
startingValue: string = ''): string;
function Map(fun: TStringListMapMethod): TStringList;
procedure ForEach(fun: TStringListForeachMethod);
function Pop: string;
function Push(s: string): integer;
function Shift: string;
function Unshift(s: string): integer;
function Reverse: TStringList;
function Join(separator: string): string;
function Concat(other: TStringList): TStringList;
function Slice(fromIndex: integer): TStringList;
function Slice(fromIndex, toIndex: integer): TStringList;
function Fill(Value: string; start: integer = 0;
_end: integer = -1): TStringList;
function Some(fun: TStringListSomeMethod): boolean;
function IndexOf(s: string; start: integer = 0): integer;
function LastIndexOf(s: string; start: integer = -1): integer;
end;