Source: https://www.mitk.org/w/images/9/9c/BugSquashingSeminars$BugSquashingOperatorOverloading.pdf