Source: https://www.cs.ox.ac.uk/bob.coecke/Doering.pdf