anchor.diff:              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
   let private sprintValue (value:obj) (ty:Type) =
  
positive.code: 
  //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 }
  and CallMember = { InitialText: string ; LoadingText: string ; Lazy: Lazy<Custom>; Image:ImageResource}
  and Watch =
      | Root of Root
      | DataMember of  DataMember
  
negative.code:                 else //assume private
                      ImageResource.PrivateProperty
  
              DataMember({LoadingText=(pretext  pi.PropertyType.FSharpName loadingText) ; Lazy=delayed ; Image=image ; MemberInfo=pi})
  
          let getFieldWatch (fi:FieldInfo) =
              let pretext = sprintf "%s : %s%s" (getMemberName fi)
  