anchor.diff:                  let valueText = sprintValue value ty
                   let text = sprintf "[%i] : %s = %s" index ty.FSharpName valueText
                   let children = createChildren value ty
  -                Custom({Text=text ; Children=children ; ValueText=Some(valueText) ; Image=ImageResource.Default})
  +                Custom { Text=text
  +                         Children=children
  +                         ValueText=Some(valueText)
  +                         Image=ImageResource.Default }
               
               //yield 100  chunks
               let rec calcRest pos (ie:System.Collections.IEnumerator) = seq {
  
positive.code:         ///Get the "default text" of this Watch
          member this.DefaultText =
              match this with
              | Root {Text=text} | DataMember {LoadingText=text}
              | CallMember {InitialText=text} | Custom {Text=text} -> text
          ///Get the children of this Watch. If the children are taken from a Lazy property,
          ///evaluation is forced.
          member this.Children =
              match this with
              | Root {Children=children} | Custom {Children=children} -> children
              | CallMember {Lazy=l} | DataMember {Lazy=l} -> l.Value.Children
          member this.ValueText =
              match this with
              | Root {ValueText=vt} -> Some(vt)
              | Custom {ValueText=Some(vt)} -> Some(vt)
              | DataMember {Lazy=CreatedValue({ValueText=Some(vt)})} | CallMember {Lazy=CreatedValue({ValueText=Some(vt)})} -> Some(vt)
              | _ -> None
          member this.Image =
              match this with
              | Root {Image=image} | DataMember {Image=image}
              | CallMember {Image=image} | Custom {Image=image} -> image
          member this.MemberInfo =
              match this with
              | DataMember { MemberInfo=mi } | CallMember { MemberInfo=mi } -> Some(mi)
              | Custom _  | Root _ -> None
  
  open System.Text.RegularExpressions
  ///Sprint the given value with the given Type. Precondition: Type cannot be null.
  
negative.code:     else None
  
  //how to add icons to tree view: http://msdn.microsoft.com/en-us/library/aa983725(v=vs.71).aspx
  
  type Root = { Text: string
                Children:seq<Watch>
                ValueText:string
                Value:obj
                Name: String
                Image: ImageResource }
  
  and Custom = { Text: string
                 Children:seq<Watch>
                 ValueText: string option
                 Image:ImageResource }
  
  and DataMember = { LoadingText: string
                     Lazy: Lazy<Custom>
                     Image:ImageResource
                     MemberInfo:MemberInfo }
  
  and CallMember = { InitialText: string
                     LoadingText: string
                     Lazy: Lazy<Custom>
                     Image:ImageResource
                     MemberInfo:MemberInfo }
  
  and Watch =
      | Root of Root
      | DataMember of  DataMember
  