code: function checkTypeParameterListsIdentical(node, symbol) {
              if (symbol.declarations.length === 1) {
                  return;
              }
              var firstDecl;
              for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) {
                  var declaration = _a[_i];
                  if (declaration.kind === 221 /* ClassDeclaration */ || declaration.kind === 222 /* InterfaceDeclaration */) {
                      if (!firstDecl) {
                          firstDecl = declaration;
                      }
                      else if (!areTypeParametersIdentical(firstDecl.typeParameters, node.typeParameters)) {
                          error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, node.name.text);
                      }
                  }
              }
          }
docs: Check that type parameter lists are identical across multiple declarations