anchor.diff:  
       let transformObjectExpr (com: IPythonCompiler) ctx (members: Fable.MemberDecl list) typ baseCall : Expression * Statement list =
           // printfn "transformObjectExpr: %A" typ
  +
  +        // A generic class nested in another generic class cannot use same type variables. (PEP-484)
  +        let ctx = { ctx with TypeParamsScope = ctx.TypeParamsScope + 1 }
  +
           let makeMethod prop hasSpread args body decorators =
               let args, body, returnType =
                   getMemberArgsAndBody com ctx (Attached(isStatic = false)) hasSpread args body
  
positive.code: 
          types
          |> List.collect getGenParams
          |> List.countBy id
          |> List.choose (fun (param, count) -> if count > 1 then Some param else None)
          |> Set.ofList
  
negative.code:               HoistVars = fun _ -> false
                TailCallOpportunity = None
                OptimizeTailCall = fun () -> ()
                ScopedTypeParams = Set.empty
                TypeParamsScope = 0 }
  
          let rootDecls = List.collect (transformDeclaration com ctx) file.Declarations
  
  