anchor.diff:                              yield AppliedIndexedProperty(null, pi)
               yield! tryGetEnum rtype memberName |> Option.map Obj |> Option.toArray
           ]
  -//        |> Option.tryResolve (fun () -> rtype.GetField(memberName) |> nullableToOption |> Option.map fieldToExpr)
  -//        |> function | Some (objToExpr) -> Some (objToExpr null) | None -> failwith (sprintf "Member name of %s was ambiguous: %s" rtypename memberName)            
       | manytype -> failwith (sprintf "Type name was ambiguous: %s" rtypename) 
   
   // Note: may not properly fail if types are loaded later, but I'm willing to sacrifice this for now in the name of complexity reduction
  
positive.code:                             |> Seq.map (snd) |> Seq.toArray
                          let realType = rtype.MakeGenericType(resolvedGenerics)
                          Activator.CreateInstance(realType, args) |> Obj |> Some
  //            ctor.GetParameters()         
          | manyctor -> failwith (sprintf "Type constructor was ambiguous: %s" rtypename)
      | rtype :: [] -> 
          let paramTypes = args |> Array.map (fun p -> p.GetType())
  
negative.code:             | prms -> yield prop.Name, fun o -> AppliedIndexedProperty(o, [prop])
          for (name, methods) in methodCollections do 
              yield name, fun o -> let mis = methods |> Seq.toList in InvokableExpr <| AppliedMethod(o, mis) 
      }     
  
  let rec inline convertSequence seq1 seq2 = 
  