Why Do We Like Functional Programming?