anchor.diff:      use dynamicVm = new DesktopBindingTarget()
       dynamicVm.BindMutable "Test" v1
       dynamicVm.BindMutable "Test2" v2
  -    
  -    let props = TypeDescriptor.GetProperties(dynamicVm)
  -    let prop = props.Find("Test", false)
  -
  -    let cur = unbox <| prop.GetValue(dynamicVm)
  +        
  +    let cur = getProperty dynamicVm "Test" 
       Assert.AreEqual(1, cur)
   
       v1.Value <- 55
  -    let cur = unbox <| prop.GetValue(dynamicVm)
  +    let cur = getProperty dynamicVm "Test" 
       Assert.AreEqual(55, cur)
   
  -    let prop = props.Find("Test2", false)
  -
  -    let cur = unbox <| prop.GetValue(dynamicVm)
  +    let cur = getProperty dynamicVm "Test2" 
       Assert.AreEqual(2, cur)
   
       v2.Value <- 29
  -    let cur = unbox <| prop.GetValue(dynamicVm)
  +    let cur = getProperty dynamicVm "Test2" 
       Assert.AreEqual(29, cur)
   
   [<Test>]
  
positive.code: 
      let obs = PropertyChangedObserver(dynamicVm)    
      
      let props = TypeDescriptor.GetProperties(dynamicVm)
      let prop = props.Find("Test", false)
  
      let cur = unbox <| prop.GetValue(dynamicVm)
      Assert.AreEqual(2, cur)
  
      v1.Value <- 55 // Change 1
      let cur = unbox <| prop.GetValue(dynamicVm)
      Assert.AreEqual(56, cur)
  
      v1.Value <- 66 // Change 2
  
negative.code:         ()
      override __.BindCommand name comm =
          ()
  
  let getProperty (target : obj) name =
      let props = TypeDescriptor.GetProperties target
      let prop = props.Find(name, false)
      unbox <| prop.GetValue(target)
  
  type PropertyChangedObserver(o : INotifyPropertyChanged) =
      let changes = System.Collections.Generic.Dictionary<string,int>()
  