DEFINITION MODULE DOpaque; (* Opaque type: hidden behind a pointer for clients. *) TYPE Node; TYPE NodePtr = POINTER TO Node; PROCEDURE Init : NodePtr; PROCEDURE Value(p : NodePtr) : INTEGER; END DOpaque.