this document. This frees implementationsto use a different class hierarchy than the one shown (or no hierarchy at all). Without a stack (or some similarentity), the interface would have to return intermediate results to the user code, and so the an implementationwould have to create objects with the type name specified for each routine.