Functional languages help developers support concurrency by encouraging immutable data structures that can be passed between threads without having to worry about a shared state, all while avoiding side effects. Concurrency in .NET teaches readers how to build concurrent and scalable programs in .N