This will allow us to derive PartialOrd and Hash on the types used in the front-end, which is crucial for a number of reasons:
Allows for sharing values more efficiently, fewer allocations
Opens the door to clean up the API for the parser and type-checker
Using NaN-safe floats in the runtime is probably also essential to avoid JS-like NaN propagation nightmares.
This will allow us to derive
PartialOrd
andHash
on the types used in the front-end, which is crucial for a number of reasons: