If you have ever tried to look at a System.DateTime or System.TimeSpan object in a debugger, you know how difficult it is to see what the value is.  For example, this is what a System.DateTime object looks like: 0:017> !do 0x040f59b8 Name: System.DateTime MethodTable: 60809f0c EEClass: 605e1fd8 Size: 16(0×10) bytes GC Generation: 2 (C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll) Fields: MT Field Offset Type VT Attr Value Name 6080ab9c 40000f4 4 System.UInt64 1 instance 633739266270770000 dateData 6082aa5c 40000f0 30 System.Int32[] 0 shared static DaysToMonth365 >> Domain:Value 0097ce58:03d6cad0 << 6082aa5c 40000f1 34 System.Int32[] 0 shared static DaysToMonth366 >> Domain:Value 0097ce58…(read more)