(* Chapter 13 - Program 7 *) DEFINITION MODULE OpaqueType; EXPORT QUALIFIED BoxType, MakeBox, Volume, Area; TYPE BoxType; (* Opaque type, defined in implementation module *) (* This procedure creates and initializes a box *) PROCEDURE MakeBox(Length, Width, Height : CARDINAL) : BoxType; (* This procedure returns the volume of a box *) PROCEDURE Volume(Box : BoxType) : CARDINAL; (* This procedure returns the Area of a box *) PROCEDURE Area(Box : BoxType) : CARDINAL; END OpaqueType.