We're working on statically checking Jaxtyping annotations in Pyrefly, but it's incomplete and not ready to use yet :)
A follow-up question: Google's old `tensor_annotations` library (RIP) could statically analyse operations - eg. `reduce_sum(Tensor[Time, Batch], axis=0) -> Tensor[Batch]`. I guess that wouldn't come with static analysis for jaxtyping?