public static void IsThawed <T>(IThawable <T> freezable) where T : IThawable <T>
 {
     Contract.Ensures(!freezable.IsFrozen);
 }
 public static void ChildThawed <T>(IThawable <T> child, bool thawChildren) where T : IThawable <T>
 {
     Contract.Ensures(!thawChildren || !child.IsFrozen);
 }