This question is inspired by this older one: Why is writing a compiler in a functional language easier?. FPGA and ASIC CAD flows are composed of many steps. Some steps, such a