MODULE; IMPORT ComplSeq; PROCEDURE Compl Get (): T = BEGIN LOCK mu DO IF seq.size() = 0 THEN RETURN NEW(T); ELSE RETURN seq.remhi(); END; END; END Get; PROCEDUREFree (t: T) = BEGIN LOCK mu DO seq.addhi(t); END; END Free; VAR mu := NEW(MUTEX); seq := NEW(ComplSeq.T).init(); BEGIN END Compl.