Did Functional Programming get it wrong?