https://medium.com/swlh/why-and-how-we-should-calculate-expected-utility-of-refactorings-57cdd731aff1