See Stack Overflow question: http://stackoverflow.com/questions/32022588/why-the-wrongcommutative-timeout-in-the-propositionallogic-example-in-leon-onlin