Source: https://www.iam.unibe.ch/scg/svn_repos/SqueakByExample/FrenchBook/SBE.pdf