anchor.diff:                              |> 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())
  
positive.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) 
          //for field in fields do yield field.Name, fieldToExpr field
      }     
  
  let rec inline convertSequence seq1 seq2 = 
  
negative.code:         | (:? IEnumerable as enumer), (:? int64 as idx) -> 
              if idx < 0L then Returned null |> Some
              else enumer |> Seq.cast<obj> |> Seq.nth (int idx) |> Returned |> Some  
          | (:? IDictionary as dict),  key -> 
              if not <| dict.Contains(key) then Some <| Obj null
              else dict.[key] |> Returned |> Some
          | _ ->
              match cachedResolveObjectIndexer ttype with
              | None -> None
  