https://dev.to/sargentjamesa/when-execution-is-cheap-ambiguity-is-expensive-22i