anchor.diff:              DataMember { LoadingText=(pretext pi.PropertyType.FSharpName loadingText)
                            LazyMemberValue=delayed
                            Image=image
  -                         MemberInfo=pi }
  +                         MemberInfo=pi 
  +                         ExpressionInfo= getMemberExpressionInfo pi }
   
           let getFieldWatch (fi:FieldInfo) =
               let pretext = sprintf "%s : %s%s" (getMemberName fi)
  
positive.code:             else
                  mi.Name
  
          let makeMemberValue (value:obj) valueTy pretext =
              if typeof<System.Collections.IEnumerator>.IsAssignableFrom(valueTy) then
                  { MemberValue.LoadedText=pretext valueTy.FSharpName ""
  
negative.code:                 //but if is non-Custom IEnumerable, then can't
                  let ty = if value =& null then typeof<obj> else value.GetType()
                  let valueText = sprintValue value ty
                  let expression = sprintf "[%i]" index
                  let text = sprintf "%s : %s = %s" expression ty.FSharpName valueText
                  let children = createChildren value ty
                  EnumeratorElement { Text=text
                                      Children=children
                                      ValueInfo={Text=valueText; Value=value; Type=ty} 
                                      ExpressionInfo={Expression=expression; ExplicitInterfaceName=None; IsPublic=true}}
              
              //yield 100  chunks
              let rec calcRest pos (ie:System.Collections.IEnumerator) = seq {
  