Hi!
The data-lib
library contains many mutable data structures, which necessitate distinguishing between read types and write types. While current Typed Racket doesn't provide a built-in way to define such types, we can achieve this through some clever techniques.
You can refer to how I defined typed-data-queue and typed-racket-mutable-treelist to implement a similar approach for typed-data-heap
: