mrahtz:

Pro the tensor_annotations approach: tensor_annotations allows expected shapes be checked statically, and also allows us to specify the expected shapes of e.g. arguments and returns (def foo(x: Tensor[Height, Width]): ...).


This sounds really great and I think might be a really useful feature.
Also, thank you very much for the detailed explanation. I’ll dig a bit into the document and ping others who might be interested.