An advanced library for building DSLs that allows defering the existence of type class instances until interpretation.