This is an equational reasoning tool for an untyped lambda calculus, with some additions inspired by Haskell (data constructors and case statements). The CLI is passed an environment (a list of top-level definitions), and allows you to selectively rewrite environment definitions into other environment definitions, as well as perform certain simplifications. A history of modifications is retained, and a reproducible log of operations can be requested.