generic
    type Item is limited private;
    type Index is (<>);
    type Items is array (Index range <>) of Item;
    with function "=" (Left : in Items; Right : in Items) return Boolean;
package Pattern_Match_Simple is

    function Location_Of
                (The_Pattern : in Items; In_The_Items : in Items) return Index;

    Pattern_Not_Found : exception;

end Pattern_Match_Simple;