Immutable objects are inherently thread safe. Having spent 3 years debugging a multi-threaded application written by people who don't understand threading, I back the "immutability by default" philosophy completely, it ultimately creates software that is less prone to crashing and strange - and dangerous - bugs.