We have, though. Spark, for example, does this in just about every language. It's been around for ages, is liberally licensed, and deployed at scale in thousands of enterprises.
Something very much like Spark map-reduce can be implemented in ~100 lines of Unison code:
https://www.unison-lang.org/articles/distributed-datasets/
Some videos on Unison's capabilities over and above Spark:
Distributed programming overview: https://www.youtube.com/watch?v=ZhoxQGzFhV8
Collaborative data structures (CRDTs): https://www.youtube.com/watch?v=xc4V2WhGMy4
Distributed data types: https://www.youtube.com/watch?v=rOO2gtkoZ3M
Distributed global optimization with genetic algorithms: https://www.youtube.com/watch?v=qNShVqSbQJM
Plus you're significantly limited in how much you can memoize if you can have different versions of the "same" function.