I was curious how the StringBuilder class is implemented internally, so I decided to check out Mono\'s source code and compare it with Reflector\'s disassembled code of the
You can read these posts Immutable types: understand their benefits and use them
and Manage states in a multi-threaded environment without the synchronization pain
Also the tool NDepend comes with some facilities to cop with immutable types and pure methods.