Functional Programming has certain design principles that make it better suited for solving problems with code. Currying is one of those features. Coming from C#, it might not be something that's ever seen on your radar. Knowing it and using it will make your code more readable and more composable.
Every C# developer uses the built in types; string, bool or int. But there also exists another set of types, String, Boolean and Int32. What's the difference? Which one should you use? Lets explore how C# namespaces resolve types and examine C#'s alias types.