Why is immutable data considered necessary for functional programming style? Can't a a programmer or programmer just do the same thing with mutable data, but not mutate it? That is, couldn't Python be used for functional programming?