Potential optimization opportunity for core.typed? https://x.com/charliermarsh/status/2031819482331562207
I'm vaguely familiar with BDD's. There's some research on how to apply it to Typed Racket https://pnwamk.github.io/sst-tutorial/#%28part._sec~3abdd-rep%29 I think you need to go whole-hog to set-theoretic types which we're not at.
e.g., for any two types you need to be able to calculate their intersection, and test if it's empty.