https://shikhalev.github.io/2006/01/hypothesis.html