And I would argue that _use-site checking_ is the easiest and obviously the slowest method to attain the stated goal. Python is already slow, this is just going to make things silly.<p>Using the same inference methods as Shedskin [0] along with type annotations, functional tests and property based testing can get both correctness and performance in a gradual layered manner.<p>This paper doesn&#x27;t prove that gradual typing is broken, it shows that _use-site checking_ happens to be slow for the version of Python that they used (PyPy could very well elide the checks).<p>[0]<p>Shedskin Thesis <a href="http:&#x2F;&#x2F;mark.dufour.googlepages.com&#x2F;shedskin.pdf" rel="nofollow">http:&#x2F;&#x2F;mark.dufour.googlepages.com&#x2F;shedskin.pdf</a><p>Iterative Flow Analysis by Plevyak <a href="http:&#x2F;&#x2F;plevyak.com&#x2F;ifa-submit.pdf" rel="nofollow">http:&#x2F;&#x2F;plevyak.com&#x2F;ifa-submit.pdf</a><p>Agesen&#x27;s Cartesian Product <a href="http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.88.663&amp;rep=rep1&amp;type=pdf" rel="nofollow">http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.88....</a>