anchor.diff:  
   let resolveInvoke (o: obj) (memberName: string) =
       if o = null then None
  -    else cachedResolveMember (o.GetType(), memberName)
  -         |> Option.map (function
  -                        | PropertyCall pc -> Returned (pc o)
  -                        | MethodCall mc -> Method (mc o)
  -                        | IndexedPropertyCall ipc -> IndexedProperty (ipc o))
  +    else match cachedResolveMember (o.GetType(), memberName) with
  +         | Some (resolvedMember) -> resolvedMember o |> Some
  +         | None -> failwith (sprintf "Unable to lookup specified member %s in object %s" memberName (o.GetType().Name))
   
   let rec resolveMembers (rtype: System.Type) (parentName: string) (getter: obj -> obj) =
       let properties = rtype.GetProperties()
  
positive.code:     | SupportedNumberType contents -> Obj contents
      | other -> Obj other
  
  let propertyToExpr (prop: PropertyInfo) =
      match prop.GetIndexParameters() with
      | [||] -> (fun obj -> prop.GetValue(obj, null) |> Returned)
  
negative.code:                 else String.Format("{0}.{1}", parentName, prop.Name)
              yield fullName, propertyToExpr prop
          for (name, methods) in methodCollections do           
              yield name, overloadedMethodToExpr methods
      }     
  
  let rec inline convertSequence seq1 seq2 = 
  