IMPLEMENTATION MODULE DOpaque; (* Completes opaque Node here; clients never see the record. *) TYPE Node = RECORD v : INTEGER END; VAR head : NodePtr; PROCEDURE Init : NodePtr; BEGIN NEW(head); head^.v := 55; RETURN head END Init; PROCEDURE Value(p : NodePtr) : INTEGER; BEGIN RETURN p^.v END Value; END DOpaque.