anchor.diff:      /// <summary>
       ///     Creates a type shape instance for given type
       /// </summary>
  -    static member Create<'T>() : TypeShape<'T> = new TypeShape<'T>()
  +    static member Create<'T>() : TypeShape<'T> = TypeShape<'T>.Instance
   
   /// Creates a type shape instance for given type
  -let shapeof<'T> = TypeShape.Create<'T>()
  +let shapeof<'T> = TypeShape<'T>.Instance
   
   //------------------------
   // Section: Core BCL types
  
positive.code:             Generic(t.GetGenericTypeDefinition(), t.GetGenericArguments())
          else
              Basic t
          
      override __.Type = typeof<'T>
      override __.ShapeInfo = shapeInfo
  
negative.code:         elif typ.IsByRef || typ.IsPointer then raise <| UnsupportedShape typ
          else 
              let gt = genShapeTy.MakeGenericType [|typ|]
              let instance = gt.GetProperty("Instance", BindingFlags.NonPublic ||| BindingFlags.Static)
              instance.GetValue(null) :?> TypeShape
  
  type Activator with
      /// Generic edition of the activator method which support type parameters and private types
  