- Pure functions makes it easy to design new code, no need to be creative with unnecassary problem such as multiple inheritance
- primitive values makes it easy to focus on business logic and makes it easy to tast because everything is plain object.
- concurrency is not an issue with clojure, because it's immutable and provide a great foundation via clojure.async