@DemonCode It's pretty fascinating, but keep in mind that this is engineering: it's all about the tradeoffs.
One such trade off is that many programmers look at you like you're from mars when you say that everything is immutable, or just when you mention functional programming in general.
@Heisenberg This question is probably more on topic on softwareengineering.stackexchange - but also be aware that that site tends to attract more downvotes. — dwjohnston14 secs ago