This case study explores our experiences implementing a hardware compiler (place-and-route CAD tool) using Scala 3. Our initial development was in Python, but challenges with mutability led us to adopt Scala, drawing from positive experiences with the Chisel hardware construction language and the FIRRTL compiler. We initially used JavaSMT for SMT solver interactions but opted to develop our own SMT abstractions for finer control. Our approach emphasised a “locally mutable, globally immutable” architecture and type classes for reusability. The Li Haoyi ecosystem (Mill, uPickle, Ammonite) proved essential for productive development. Despite Scala’s advantages, challenges such as limited library support and recruitment difficulties persist.