3 type Deque (<>) is tagged limited private;
4 function Create return Deque;
5 procedure Pop (D : access Deque);
7 type Sequence is limited interface;
8 type P_Deque is new Deque and Sequence with private;
9 function Create return P_Deque;
12 type Deque is tagged limited null record;
13 type P_Deque is new Deque and Sequence with null record;