dry ??
although its not considered “current best practices” its good for the theory of compiler construction