  EDA toolchains are notoriously unpredictable, incomplete, and error-prone;
the generally-accepted remedy has been to re-imagine EDA tasks as compilation
problems. However, any compiler framework we apply must be prepared to handle
the wide range of EDA tasks, including not only compilation tasks like
technology mapping and optimization (the "there"} in our title), but also
decompilation tasks like loop rerolling (the "back again"). In this paper, we
advocate for equality saturation -- a term rewriting framework -- as the
framework of choice when building hardware toolchains. Through a series of case
studies, we show how the needs of EDA tasks line up conspicuously well with the
features equality saturation provides.
