anchor.diff:    open Microsoft.FSharp.Quotations
     open System.Collections
     open System.Collections.Generic
  +  open System.Collections.Concurrent
   
     let indexBuilder = IndexBuilder.Instance
     let vectorBuilder = VectorBuilder.Instance
  
positive.code:           let par = Expression.Parameter(typeof<seq<OptionalValue<obj>>>)
            let body = Expression.Call(createTypedVectorMi.MakeGenericMethod([| typ |]), par)
            let f = Expression.Lambda<Func<seq<OptionalValue<obj>>, IVector>>(body, par).Compile()
            cache.Add(typ, f.Invoke)
            f.Invoke )
  
    let getExpandableProperties (ty:Type) =
  
negative.code: 
    /// Helper function used when building frames from data tables
    let createTypedVector : _ -> seq<OptionalValue<obj>> -> _ =
      let cache = ConcurrentDictionary<_, _>()
      (fun typ ->
        match cache.TryGetValue(typ) with
        | true, res -> res
  