anchor.diff:          else
               Expression.subscript(name, Expression.tuple typeParamInst)
   
  +    let makeGenericTypeAnnotation' (com: IPythonCompiler) ctx (id: string) (genArgs: string list) (repeatedGenerics: Set<string> option) =
  +        pythonModuleAnnotation com ctx "__future__" "annotations" [] |> ignore
  +
  +        let name = Expression.name id
  +        if genArgs.IsEmpty then
  +            name
  +        else
  +            let genArgs =
  +                match repeatedGenerics with
  +                | Some generics ->
  +                    let genArgs = genArgs |> Set.ofList |> Set.intersect generics |> Set.toList
  +                    if genArgs.IsEmpty then [ typingHint com ctx "Any" [] ]
  +                    else genArgs |> List.map (fun name -> com.AddTypeVar(ctx, name))
  +                | _ ->
  +                    genArgs |> List.map (fun name -> com.AddTypeVar(ctx, name))
  +            Expression.subscript(name, Expression.tuple genArgs)
  +
       let typeAnnotation (com: IPythonCompiler) ctx (repeatedGenerics: Set<string> option) t : Expression * Statement list =
           let getNumberKindName kind =
               match kind with
  
positive.code:             getMemberArgsAndBody com ctx ClassConstructor cons.Info.HasSpread cons.Args cons.Body
          let isOptional = Helpers.isOptional (cons.Args |> Array.ofList)
  
          // Change constructor's return type from None to entity type. Note we cannot return
          // "T" here since a TypeVar "T" cannot appear only once in generic Python function
          let returnType =
              let genParams = getEntityGenParams classEnt |> Set.toList |> List.map (fun _ -> Fable.Any)
              makeGenericTypeAnnotation com ctx classDecl.Name genParams None
  
          let exposedCons =
              let argExprs =
  
negative.code:         declareType com ctx ent entName args isOptional body baseExpr classMembers
  
      let transformClassWithCompilerGeneratedConstructor (com: IPythonCompiler) ctx (ent: Fable.Entity) (entName: string) classMembers =
          // printfn "transformClassWithCompilerGeneratedConstructor"
          let fieldIds = getEntityFieldsAsIdents com ent
          let args = fieldIds |> Array.map (fun id -> com.GetIdentifier(ctx, id.Name) |> Expression.name)
          let isOptional = Helpers.isOptional fieldIds || ent.IsFSharpRecord || ent.IsValueType
  