https://quakec.codingforstudent.com/what-i-learned-from-z-notation/