Why Not Program Right? Communications of the ACM: blog@CACM, 18 May 2018 Not your grandmother's class invariant