Backtracking idea is interesting, could maybe diffusion help? At some point it turns into sat solving.
Sat solving I guess because types encode proofs?
Sat solving I guess because types encode proofs?