คอมไพเลอร์ที่ทรงพลังอย่างหนึ่งที่สามารถทำได้ในระหว่างขั้นตอนการออพติไมซ์ก็คือการสลับการแทนค่าที่ไม่มีประสิทธิภาพสำหรับสิ่งที่เทียบเท่า ตัวอย่างเช่นใน Haskell คุณสามารถใช้รายการสันหลังยาวเพื่อคำนวณผลรวมของตัวเลข แต่คอมไพเลอร์ GHC Haskell จะรับรู้ว่าสิ่งนี้เทียบเท่ากับการใช้การวนซ้ำกับตัวแปรชั่วคราว ด้วยวิธีนี้คุณสามารถตั้งโปรแกรมกับสิ่งที่เป็นนามธรรมง่าย ๆ ซึ่งเป็นเรื่องง่ายในขณะที่ความสามารถในการปฏิบัติการของคุณใช้ประโยชน์จากการเป็นตัวแทนที่เหมาะสมกับแพลตฟอร์มฮาร์ดแวร์มากขึ้น (และนั่นยากกว่าเหตุผลในระดับ)
อย่างไรก็ตามคอมไพเลอร์ที่รู้จักกันจะถูก จำกัด ส่วนใหญ่เป็นที่รู้จักกันดีและวิจัยโครงสร้างข้อมูลเช่นกระแสฟิวชั่นสำหรับรายการ คุณสามารถกำหนดความเทียบเท่าของคุณเองในซอร์สโค้ด (ใช้ฟังก์ชั่นการแปลงคู่ที่ประกอบไปด้วยตัวตนในทิศทางใดทิศทางหนึ่ง) แต่คุณต้องใช้มันด้วยตนเองและมันอาจจะยุ่งยากในการเลือกประเภทที่เหมาะสมที่จะใช้ในทุกสถานที่ เพื่อหลีกเลี่ยงการแปลงมากเกินไป
ทีนี้ลองจินตนาการถึงโลกที่คุณจะนิยาม "ประเภทอุปนัยที่สูงขึ้น" พูดแผนที่การค้นหาแบบบัญญัติ ประเภทนี้มีตัวสร้างหลายอย่างสำหรับแผนที่ประเภทต่าง ๆ : การค้นหาแบบไบนารี, AVL, แดง - ดำ, Trie, Patricia ฯลฯ พร้อมด้วยตัวสร้างข้อมูลทั่วไปคุณยังกำหนดประเภทการจับคู่ที่เทียบเท่าซึ่งอาจเป็น Conversion หลายรายการระหว่างการนำเสนอเหล่านี้ Conversion มีมิติของประสิทธิภาพที่แตกต่างกัน (เช่นเวลากับหน่วยความจำ)
เกิดอะไรขึ้นถ้าคอมไพเลอร์สามารถใช้ความคิดนี้ในการเขียนการนำเสนอแผนที่ใหม่ได้อย่างโปร่งใสวิธีเดียวกันกับที่ได้ทำรายการฟิวชั่นในวันนี้ ในรหัสของคุณคุณจะได้ทำงานกับสิ่งก่อสร้างที่ง่ายที่สุดในการให้เหตุผล (และทำให้งานพิสูจน์ง่ายขึ้นถ้าคุณอยู่ในสภาพแวดล้อมเช่นนี้) สิ่งนี้อาจฟังดูคล้ายกับอินเทอร์เฟซแบบนามธรรมที่มีการใช้งานหลายอย่าง แต่รวมถึงเสรีภาพในการเลือกการใช้งานใด ๆ และให้คอมไพเลอร์โปร่งใสแทนสิ่งอื่นตามที่ต้องการ
HoTT ให้พื้นฐานทางทฤษฎีประเภทหนึ่งแก่เราเพื่อพิสูจน์กลไกการเขียนใหม่ที่แปลกประหลาดและประเภทที่กำหนดไว้อย่างมั่งคั่งเหล่านี้ มันยังคงที่จะเห็นว่าสิ่งนี้จะเล่นจริงในทางปฏิบัติ แต่มันทำให้เรามีกรอบทฤษฎีที่จะใช้ในการทำงานในอนาคต