A friend of mine recently sent me some code to review: Hi Peter, Do you have any suggestions on how to clean up this code? In particular the creation of a particular singleton type doesn't look very pretty in this model: private DoubleCheckedLock<SingletonClass>