bazel syntax: rename SkylarkNestedSet to Depset

The new name matches the Bazel documentation, whereas
NestedSet is a Blaze internal. Also, it is shorter.

Also: tweak its class doc comment.
All other changes are mechanical.
PiperOrigin-RevId: 281824680
diff --git a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
index ceaf43a..9595c43 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
@@ -34,10 +34,10 @@
 import com.google.devtools.build.lib.skylarkbuildapi.ActionApi;
 import com.google.devtools.build.lib.skylarkbuildapi.CommandLineArgsApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.vfs.Path;
 import com.google.devtools.build.lib.vfs.Root;
 import com.google.devtools.build.lib.vfs.Symlinks;
@@ -520,15 +520,13 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkInputs() {
-    return SkylarkNestedSet.of(Artifact.class, NestedSetBuilder.wrap(
-        Order.STABLE_ORDER, getInputs()));
+  public Depset getSkylarkInputs() {
+    return Depset.of(Artifact.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, getInputs()));
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkOutputs() {
-    return SkylarkNestedSet.of(Artifact.class, NestedSetBuilder.wrap(
-        Order.STABLE_ORDER, getOutputs()));
+  public Depset getSkylarkOutputs() {
+    return Depset.of(Artifact.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, getOutputs()));
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
index 79e0749..9ed513c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.DefaultInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import javax.annotation.Nullable;
 
@@ -28,7 +28,7 @@
 @Immutable
 public final class DefaultInfo extends NativeInfo implements DefaultInfoApi {
 
-  private final SkylarkNestedSet files;
+  private final Depset files;
   private final Runfiles runfiles;
   private final Runfiles dataRunfiles;
   private final Runfiles defaultRunfiles;
@@ -46,19 +46,21 @@
       FilesToRunProvider filesToRunProvider) {
     this(
         Location.BUILTIN,
-        SkylarkNestedSet.of(Artifact.class, fileProvider.getFilesToBuild()),
+        Depset.of(Artifact.class, fileProvider.getFilesToBuild()),
         Runfiles.EMPTY,
         (runfilesProvider == null) ? Runfiles.EMPTY : runfilesProvider.getDataRunfiles(),
         (runfilesProvider == null) ? Runfiles.EMPTY : runfilesProvider.getDefaultRunfiles(),
         filesToRunProvider.getExecutable(),
-        filesToRunProvider
-    );
+        filesToRunProvider);
   }
 
   private DefaultInfo(
       Location loc,
-      SkylarkNestedSet files, Runfiles runfiles,
-      Runfiles dataRunfiles, Runfiles defaultRunfiles, Artifact executable,
+      Depset files,
+      Runfiles runfiles,
+      Runfiles dataRunfiles,
+      Runfiles defaultRunfiles,
+      Artifact executable,
       @Nullable FilesToRunProvider filesToRunProvider) {
     super(PROVIDER, loc);
     this.files = files;
@@ -77,7 +79,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getFiles() {
+  public Depset getFiles() {
     return files;
   }
 
@@ -144,11 +146,12 @@
 
       return new DefaultInfo(
           loc,
-          castNoneToNull(SkylarkNestedSet.class, files),
+          castNoneToNull(Depset.class, files),
           statelessRunfiles,
           dataRunfiles,
           defaultRunfiles,
-          castNoneToNull(Artifact.class, executable), null);
+          castNoneToNull(Artifact.class, executable),
+          null);
     }
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/FileProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/FileProvider.java
index d71cf86..fa3bda6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/FileProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/FileProvider.java
@@ -21,7 +21,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.FileProviderApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /**
  * A representation of the concept "this transitive info provider builds these files".
@@ -56,8 +56,8 @@
    * implicit targets, for example, deploy jars.
    */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getFilesToBuildForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, filesToBuild);
+  public Depset /*<Artifact>*/ getFilesToBuildForStarlark() {
+    return Depset.of(Artifact.TYPE, filesToBuild);
   }
 
   public NestedSet<Artifact> getFilesToBuild() {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
index 9285092..aa90fac 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
@@ -32,11 +32,11 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.OutputGroupInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -248,7 +248,7 @@
 
     NestedSet<Artifact> result = outputGroups.get(key);
     if (result != null) {
-      return SkylarkNestedSet.of(Artifact.class, result);
+      return Depset.of(Artifact.class, result);
     } else {
       throw new EvalException(loc, String.format(
           "Output group %s not present", key
@@ -272,7 +272,7 @@
     if (result == null) {
       return null;
     }
-    return SkylarkNestedSet.of(Artifact.class, result);
+    return Depset.of(Artifact.class, result);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
index 0efe6b5..e9dc72a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -39,7 +39,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.RunfilesApi;
 import com.google.devtools.build.lib.skylarkbuildapi.SymlinkEntryApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.util.Fingerprint;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -338,8 +338,8 @@
    * pruning manifest candidates.
    */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getArtifactsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, getArtifacts());
+  public Depset /*<Artifact>*/ getArtifactsForStarlark() {
+    return Depset.of(Artifact.TYPE, getArtifacts());
   }
 
   public NestedSet<Artifact> getArtifacts() {
@@ -353,8 +353,8 @@
 
   /** Returns the symlinks. */
   @Override
-  public SkylarkNestedSet /*<SymlinkEntry>*/ getSymlinksForStarlark() {
-    return SkylarkNestedSet.of(SymlinkEntry.class, symlinks);
+  public Depset /*<SymlinkEntry>*/ getSymlinksForStarlark() {
+    return Depset.of(SymlinkEntry.class, symlinks);
   }
 
   public NestedSet<SymlinkEntry> getSymlinks() {
@@ -362,8 +362,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ getEmptyFilenamesForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, getEmptyFilenames());
+  public Depset /*<String>*/ getEmptyFilenamesForStarlark() {
+    return Depset.of(SkylarkType.STRING, getEmptyFilenames());
   }
 
   public NestedSet<String> getEmptyFilenames() {
@@ -588,8 +588,8 @@
 
   /** Returns the root symlinks. */
   @Override
-  public SkylarkNestedSet /*<SymlinkEntry>*/ getRootSymlinksForStarlark() {
-    return SkylarkNestedSet.of(SymlinkEntry.class, rootSymlinks);
+  public Depset /*<SymlinkEntry>*/ getRootSymlinksForStarlark() {
+    return Depset.of(SymlinkEntry.class, rootSymlinks);
   }
 
   public NestedSet<SymlinkEntry> getRootSymlinks() {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
index 75f253c..4d3aaaa1 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
@@ -25,8 +25,8 @@
 import com.google.devtools.build.lib.packages.RequiredProviders;
 import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
 import com.google.devtools.build.lib.skylarkbuildapi.TransitiveInfoCollectionApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /**
@@ -48,12 +48,12 @@
     extends SkylarkIndexable, ProviderCollection, TransitiveInfoCollectionApi {
 
   @Override
-  default SkylarkNestedSet outputGroup(String group) {
+  default Depset outputGroup(String group) {
     OutputGroupInfo provider = OutputGroupInfo.get(this);
     NestedSet<Artifact> result = provider != null
         ? provider.getOutputGroup(group)
         : NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER);
-    return SkylarkNestedSet.of(Artifact.class, result);
+    return Depset.of(Artifact.class, result);
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
index b6cdb61..e659a59 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
@@ -30,11 +30,11 @@
 import com.google.devtools.build.lib.skylarkbuildapi.CommandLineArgsApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkMutable;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -279,7 +279,7 @@
       if (argName != null) {
         commandLine.add(argName);
       }
-      if (value instanceof SkylarkNestedSet || value instanceof Sequence) {
+      if (value instanceof Depset || value instanceof Sequence) {
         throw new EvalException(
             loc,
             "Args#add doesn't accept vectorized arguments. "
@@ -399,8 +399,8 @@
         Location loc)
         throws EvalException {
       SkylarkCustomCommandLine.VectorArg.Builder vectorArg;
-      if (value instanceof SkylarkNestedSet) {
-        SkylarkNestedSet skylarkNestedSet = ((SkylarkNestedSet) value);
+      if (value instanceof Depset) {
+        Depset skylarkNestedSet = ((Depset) value);
         NestedSet<?> nestedSet = skylarkNestedSet.getSet();
         if (expandDirectories) {
           potentialDirectoryArtifacts.add(nestedSet);
@@ -444,7 +444,7 @@
     }
 
     private void validateValues(Object values, Location loc) throws EvalException {
-      if (!(values instanceof Sequence || values instanceof SkylarkNestedSet)) {
+      if (!(values instanceof Sequence || values instanceof Depset)) {
         throw new EvalException(
             loc,
             String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
index 9c83a4f..d4c3220 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
@@ -51,11 +51,11 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkActionFactoryApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -203,8 +203,8 @@
   public void doNothing(String mnemonic, Object inputs, Location location) throws EvalException {
     context.checkMutable("actions.do_nothing");
     NestedSet<Artifact> inputSet =
-        inputs instanceof SkylarkNestedSet
-            ? ((SkylarkNestedSet) inputs).getSetFromParam(Artifact.class, "inputs")
+        inputs instanceof Depset
+            ? ((Depset) inputs).getSetFromParam(Artifact.class, "inputs")
             : NestedSetBuilder.<Artifact>compileOrder()
                 .addAll(((Sequence<?>) inputs).getContents(Artifact.class, "inputs"))
                 .build();
@@ -499,8 +499,7 @@
       inputArtifacts = ((Sequence<?>) inputs).getContents(Artifact.class, "inputs");
       builder.addInputs(inputArtifacts);
     } else {
-      NestedSet<Artifact> inputSet =
-          ((SkylarkNestedSet) inputs).getSetFromParam(Artifact.class, "inputs");
+      NestedSet<Artifact> inputSet = ((Depset) inputs).getSetFromParam(Artifact.class, "inputs");
       builder.addTransitiveInputs(inputSet);
       inputArtifacts = inputSet;
     }
@@ -536,7 +535,7 @@
       if (toolsUnchecked instanceof Sequence) {
         toolsIterable = ((Sequence<?>) toolsUnchecked).getContents(Object.class, "tools");
       } else {
-        toolsIterable = ((SkylarkNestedSet) toolsUnchecked).getSet();
+        toolsIterable = ((Depset) toolsUnchecked).getSet();
       }
       for (Object toolUnchecked : toolsIterable) {
         if (toolUnchecked instanceof Artifact) {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCommandLine.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCommandLine.java
index 30a5267..9872741 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCommandLine.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCommandLine.java
@@ -17,14 +17,14 @@
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkCommandLineApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** A Skylark module class to create memory efficient command lines. */
 public class SkylarkCommandLine implements SkylarkCommandLineApi {
 
   @Override
-  public String joinPaths(String separator, SkylarkNestedSet files) throws EvalException {
+  public String joinPaths(String separator, Depset files) throws EvalException {
     NestedSet<Artifact> artifacts = files.getSetFromParam(Artifact.class, "files");
     // TODO(bazel-team): This method should be deprecated and strongly discouraged, as it
     // flattens a depset during analysis.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
index c94ae01..1065f81 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
@@ -52,12 +52,12 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalExceptionWithStackTrace;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -297,10 +297,10 @@
       }
       return nestedSetBuilder.build();
     } else {
-      SkylarkNestedSet artifactsSet =
+      Depset artifactsSet =
           SkylarkType.cast(
               objects,
-              SkylarkNestedSet.class,
+              Depset.class,
               Artifact.class,
               loc,
               typeErrorMessage,
@@ -308,7 +308,7 @@
               EvalUtils.getDataTypeName(objects, true));
       try {
         return artifactsSet.getSet(Artifact.class);
-      } catch (SkylarkNestedSet.TypeException exception) {
+      } catch (Depset.TypeException exception) {
         throw new EvalException(
             loc,
             String.format(
@@ -515,7 +515,7 @@
   private static void parseDefaultProviderFields(
       StructImpl provider, SkylarkRuleContext context, RuleConfiguredTargetBuilder builder)
       throws EvalException {
-    SkylarkNestedSet files = null;
+    Depset files = null;
     Runfiles statelessRunfiles = null;
     Runfiles dataRunfiles = null;
     Runfiles defaultRunfiles = null;
@@ -539,7 +539,7 @@
       // TODO(cparsons): Look into deprecating this option.
       for (String field : provider.getFieldNames()) {
         if (field.equals("files")) {
-          files = cast("files", provider, SkylarkNestedSet.class, Artifact.class, loc);
+          files = cast("files", provider, Depset.class, Artifact.class, loc);
         } else if (field.equals("runfiles")) {
           statelessRunfiles = cast("runfiles", provider, Runfiles.class, loc);
         } else if (field.equals("data_runfiles")) {
@@ -620,7 +620,7 @@
       RuleContext ruleContext,
       Location loc,
       Artifact executable,
-      @Nullable SkylarkNestedSet files,
+      @Nullable Depset files,
       Runfiles statelessRunfiles,
       Runfiles dataRunfiles,
       Runfiles defaultRunfiles)
@@ -638,7 +638,7 @@
       try {
         // If we specify files_to_build we don't have the executable in it by default.
         builder.setFilesToBuild(files.getSet(Artifact.class));
-      } catch (SkylarkNestedSet.TypeException exception) {
+      } catch (Depset.TypeException exception) {
         throw new EvalException(loc, "'files' field must be a depset of 'file'", exception);
       }
     }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
index 9015544..f3b64a5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -77,6 +77,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
@@ -84,7 +85,6 @@
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -1009,7 +1009,7 @@
     }
     if (transitiveFiles != Starlark.NONE) {
       builder.addTransitiveArtifacts(
-          ((SkylarkNestedSet) transitiveFiles).getSetFromParam(Artifact.class, "transitive_files"));
+          ((Depset) transitiveFiles).getSetFromParam(Artifact.class, "transitive_files"));
     }
     if (!symlinks.isEmpty()) {
       // If Skylark code directly manipulates symlinks, activate more stringent validity checking.
@@ -1066,7 +1066,7 @@
     }
     List<Artifact> inputs = new ArrayList<>();
     // TODO(lberki): This flattens a NestedSet.
-    // However, we can't turn this into a SkylarkNestedSet because it's an incompatible change to
+    // However, we can't turn this into a Depset because it's an incompatible change to
     // Skylark.
     Iterables.addAll(inputs, helper.getResolvedTools());
 
@@ -1101,8 +1101,7 @@
             .addToolDependencies(tools.getContents(TransitiveInfoCollection.class, "tools"))
             .build();
     return Tuple.<Object>of(
-        SkylarkNestedSet.of(Artifact.class, helper.getResolvedTools()),
-        helper.getToolsRunfilesSuppliers());
+        Depset.of(Artifact.class, helper.getResolvedTools()), helper.getToolsRunfilesSuppliers());
   }
 
   public StarlarkSemantics getSkylarkSemantics() {
@@ -1111,8 +1110,8 @@
 
   /**
    * Ensures the given {@link Map} has keys that have {@link Label} type and values that have either
-   * {@link Iterable} or {@link SkylarkNestedSet} type, and raises {@link EvalException} otherwise.
-   * Returns a corresponding map where any sets are replaced by iterables.
+   * {@link Iterable} or {@link Depset} type, and raises {@link EvalException} otherwise. Returns a
+   * corresponding map where any sets are replaced by iterables.
    */
   // TODO(bazel-team): find a better way to typecheck this argument.
   private static Map<Label, Iterable<Artifact>> checkLabelDict(Map<?, ?> labelDict, Location loc)
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailureInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailureInfo.java
index 7fd895f..db35cc8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailureInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailureInfo.java
@@ -19,7 +19,7 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.Info;
 import com.google.devtools.build.lib.skylarkbuildapi.test.AnalysisFailureInfoApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 
 /**
@@ -67,8 +67,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<AnalysisFailure>*/ getCauses() {
-    return SkylarkNestedSet.of(SkylarkType.of(AnalysisFailure.class), causes);
+  public Depset /*<AnalysisFailure>*/ getCauses() {
+    return Depset.of(SkylarkType.of(AnalysisFailure.class), causes);
   }
 
   public NestedSet<AnalysisFailure> getCausesNestedSet() {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Type.java b/src/main/java/com/google/devtools/build/lib/packages/Type.java
index 92fd12f..7295fcf 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Type.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Type.java
@@ -23,11 +23,11 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet.NestedSetDepthException;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.util.LoggingUtil;
 import com.google.devtools.build.lib.util.StringCanonicalizer;
 import java.util.ArrayList;
@@ -585,9 +585,9 @@
 
       if (x instanceof Iterable) {
         iterable = (Iterable<?>) x;
-      } else if (x instanceof SkylarkNestedSet) {
+      } else if (x instanceof Depset) {
         try {
-          iterable = ((SkylarkNestedSet) x).toCollection();
+          iterable = ((Depset) x).toCollection();
         } catch (NestedSetDepthException exception) {
           throw new ConversionException(
               "depset exceeded maximum depth "
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
index a8a0e10..660b225 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
@@ -32,8 +32,8 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /**
@@ -136,7 +136,7 @@
       // A shortcut for files to build in Skylark. FileConfiguredTarget and RuleConfiguredTarget
       // always has FileProvider and Error- and PackageGroupConfiguredTarget-s shouldn't be
       // accessible in Skylark.
-      return SkylarkNestedSet.of(Artifact.class, getProvider(FileProvider.class).getFilesToBuild());
+      return Depset.of(Artifact.class, getProvider(FileProvider.class).getFilesToBuild());
     }
     return actual.getValue(name);
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAssetsInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAssetsInfo.java
index 051cc78..7da4089 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAssetsInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAssetsInfo.java
@@ -25,8 +25,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidAssetsInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import java.util.Optional;
 import javax.annotation.Nullable;
 
@@ -110,8 +110,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<ParsedAndroidAssets>*/ getDirectParsedAssetsForStarlark() {
-    return SkylarkNestedSet.of(ParsedAndroidAssets.class, directParsedAssets);
+  public Depset /*<ParsedAndroidAssets>*/ getDirectParsedAssetsForStarlark() {
+    return Depset.of(ParsedAndroidAssets.class, directParsedAssets);
   }
 
   public NestedSet<ParsedAndroidAssets> getDirectParsedAssets() {
@@ -129,8 +129,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<ParsedAndroidAssets>*/ getTransitiveParsedAssetsForStarlark() {
-    return SkylarkNestedSet.of(ParsedAndroidAssets.class, transitiveParsedAssets);
+  public Depset /*<ParsedAndroidAssets>*/ getTransitiveParsedAssetsForStarlark() {
+    return Depset.of(ParsedAndroidAssets.class, transitiveParsedAssets);
   }
 
   public NestedSet<ParsedAndroidAssets> getTransitiveParsedAssets() {
@@ -138,8 +138,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getAssetsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveAssets);
+  public Depset /*<Artifact>*/ getAssetsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveAssets);
   }
 
   public NestedSet<Artifact> getAssets() {
@@ -147,8 +147,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getSymbolsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveSymbols);
+  public Depset /*<Artifact>*/ getSymbolsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveSymbols);
   }
 
   public NestedSet<Artifact> getSymbols() {
@@ -162,8 +162,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getCompiledSymbolsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveCompiledSymbols);
+  public Depset /*<Artifact>*/ getCompiledSymbolsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveCompiledSymbols);
   }
 
   NestedSet<Artifact> getCompiledSymbols() {
@@ -182,11 +182,11 @@
     public AndroidAssetsInfo createInfo(
         Label label,
         Object validationResult,
-        SkylarkNestedSet directParsedAssets,
-        SkylarkNestedSet transitiveParsedAssets,
-        SkylarkNestedSet transitiveAssets,
-        SkylarkNestedSet transitiveSymbols,
-        SkylarkNestedSet transitiveCompiledSymbols)
+        Depset directParsedAssets,
+        Depset transitiveParsedAssets,
+        Depset transitiveAssets,
+        Depset transitiveSymbols,
+        Depset transitiveCompiledSymbols)
         throws EvalException {
       return new AndroidAssetsInfo(
           label,
@@ -198,8 +198,8 @@
           nestedSet(transitiveCompiledSymbols, Artifact.class, "transitive_compiled_symbols"));
     }
 
-    private static <T> NestedSet<T> nestedSet(
-        SkylarkNestedSet from, Class<T> with, String fieldName) throws EvalException {
+    private static <T> NestedSet<T> nestedSet(Depset from, Class<T> with, String fieldName)
+        throws EvalException {
       return NestedSetBuilder.<T>naiveLinkOrder()
           .addTransitive(from.getSetFromParam(with, fieldName))
           .build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java
index f766b0e..d27d910 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdeInfoProvider.java
@@ -27,10 +27,10 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidIdeInfoProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.Map;
@@ -301,10 +301,10 @@
   }
 
   @Override
-  public ImmutableMap<String, SkylarkNestedSet> getNativeLibsSkylark() {
-    ImmutableMap.Builder<String, SkylarkNestedSet> builder = ImmutableMap.builder();
+  public ImmutableMap<String, Depset> getNativeLibsSkylark() {
+    ImmutableMap.Builder<String, Depset> builder = ImmutableMap.builder();
     for (Map.Entry<String, NestedSet<Artifact>> entry : getNativeLibs().entrySet()) {
-      builder.put(entry.getKey(), SkylarkNestedSet.of(Artifact.class, entry.getValue()));
+      builder.put(entry.getKey(), Depset.of(Artifact.class, entry.getValue()));
     }
     return builder.build();
   }
@@ -332,13 +332,13 @@
         Object signedApk,
         Object aar,
         Sequence<?> apksUnderTest, // <Artifact>
-        Dict<?, ?> nativeLibs) // <String, SkylarkNestedSet>
+        Dict<?, ?> nativeLibs) // <String, Depset>
         throws EvalException {
-      Map<String, SkylarkNestedSet> nativeLibsMap =
-          nativeLibs.getContents(String.class, SkylarkNestedSet.class, "native_libs");
+      Map<String, Depset> nativeLibsMap =
+          nativeLibs.getContents(String.class, Depset.class, "native_libs");
 
       ImmutableMap.Builder<String, NestedSet<Artifact>> builder = ImmutableMap.builder();
-      for (Map.Entry<String, SkylarkNestedSet> entry : nativeLibsMap.entrySet()) {
+      for (Map.Entry<String, Depset> entry : nativeLibsMap.entrySet()) {
         builder.put(
             entry.getKey(), entry.getValue().getSetFromParam(Artifact.class, "native_libs"));
       }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlProvider.java
index a40b6ea..2643143 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlProvider.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidIdlProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 
 /**
@@ -52,8 +52,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ getTransitiveIdlImportRootsForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, transitiveIdlImportRoots);
+  public Depset /*<String>*/ getTransitiveIdlImportRootsForStarlark() {
+    return Depset.of(SkylarkType.STRING, transitiveIdlImportRoots);
   }
 
   NestedSet<String> getTransitiveIdlImportRoots() {
@@ -61,8 +61,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveIdlImportsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveIdlImports);
+  public Depset /*<Artifact>*/ getTransitiveIdlImportsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveIdlImports);
   }
 
   NestedSet<Artifact> getTransitiveIdlImports() {
@@ -70,8 +70,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveIdlJarsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveIdlJars);
+  public Depset /*<Artifact>*/ getTransitiveIdlJarsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveIdlJars);
   }
 
   NestedSet<Artifact> getTransitiveIdlJars() {
@@ -79,8 +79,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveIdlPreprocessedForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveIdlPreprocessed);
+  public Depset /*<Artifact>*/ getTransitiveIdlPreprocessedForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveIdlPreprocessed);
   }
 
   NestedSet<Artifact> getTransitiveIdlPreprocessed() {
@@ -97,10 +97,10 @@
 
     @Override
     public AndroidIdlProvider createInfo(
-        SkylarkNestedSet transitiveIdlImportRoots,
-        SkylarkNestedSet transitiveIdlImports,
-        SkylarkNestedSet transitiveIdlJars,
-        SkylarkNestedSet transitiveIdlPreprocessed)
+        Depset transitiveIdlImportRoots,
+        Depset transitiveIdlImports,
+        Depset transitiveIdlJars,
+        Depset transitiveIdlPreprocessed)
         throws EvalException {
       return new AndroidIdlProvider(
           NestedSetBuilder.<String>stableOrder()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryAarInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryAarInfo.java
index 2617fc5..7c09c51 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryAarInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryAarInfo.java
@@ -25,7 +25,7 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.packages.NativeProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidLibraryAarInfoApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import java.util.Objects;
 import javax.annotation.Nullable;
 
@@ -80,8 +80,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveAarArtifactsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveAarArtifacts);
+  public Depset /*<Artifact>*/ getTransitiveAarArtifactsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveAarArtifacts);
   }
 
   public NestedSet<Artifact> getTransitiveAarArtifacts() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryResourceClassJarProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryResourceClassJarProvider.java
index 38074bc..d796834 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryResourceClassJarProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryResourceClassJarProvider.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidLibraryResourceClassJarProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * A provider which contains the resource class jars from android_library rules. See {@link
@@ -52,8 +52,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getResourceClassJarsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, resourceClassJars);
+  public Depset /*<Artifact>*/ getResourceClassJarsForStarlark() {
+    return Depset.of(Artifact.TYPE, resourceClassJars);
   }
 
   public NestedSet<Artifact> getResourceClassJars() {
@@ -73,8 +73,7 @@
     }
 
     @Override
-    public AndroidLibraryResourceClassJarProvider create(SkylarkNestedSet jars)
-        throws EvalException {
+    public AndroidLibraryResourceClassJarProvider create(Depset jars) throws EvalException {
       return new AndroidLibraryResourceClassJarProvider(
           NestedSetBuilder.<Artifact>stableOrder()
               .addTransitive(jars.getSetFromParam(Artifact.class, "jars"))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
index eb9247c..091f39c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidNativeLibsInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Provider of transitively available ZIPs of native libs that should be directly copied into the
@@ -43,8 +43,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getNativeLibsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, nativeLibs);
+  public Depset /*<Artifact>*/ getNativeLibsForStarlark() {
+    return Depset.of(Artifact.TYPE, nativeLibs);
   }
 
   NestedSet<Artifact> getNativeLibs() {
@@ -60,8 +60,7 @@
     }
 
     @Override
-    public AndroidNativeLibsInfo createInfo(SkylarkNestedSet nativeLibs)
-        throws EvalException {
+    public AndroidNativeLibsInfo createInfo(Depset nativeLibs) throws EvalException {
       return new AndroidNativeLibsInfo(nativeLibs.getSetFromParam(Artifact.class, "native_libs"));
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesInfo.java
index d931d07..fb51f1c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesInfo.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidResourcesInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** A provider that supplies ResourceContainers from its transitive closure. */
 @Immutable
@@ -111,9 +111,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<ValidatedAndroidResources>*/
-      getTransitiveAndroidResourcesForStarlark() {
-    return SkylarkNestedSet.of(ValidatedAndroidResources.class, transitiveAndroidResources);
+  public Depset /*<ValidatedAndroidResources>*/ getTransitiveAndroidResourcesForStarlark() {
+    return Depset.of(ValidatedAndroidResources.class, transitiveAndroidResources);
   }
 
   public NestedSet<ValidatedAndroidResources> getTransitiveAndroidResources() {
@@ -121,8 +120,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<ValidatedAndroidResources>*/ getDirectAndroidResourcesForStarlark() {
-    return SkylarkNestedSet.of(ValidatedAndroidResources.class, directAndroidResources);
+  public Depset /*<ValidatedAndroidResources>*/ getDirectAndroidResourcesForStarlark() {
+    return Depset.of(ValidatedAndroidResources.class, directAndroidResources);
   }
 
   public NestedSet<ValidatedAndroidResources> getDirectAndroidResources() {
@@ -130,8 +129,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveResourcesForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveResources);
+  public Depset /*<Artifact>*/ getTransitiveResourcesForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveResources);
   }
 
   public NestedSet<Artifact> getTransitiveResources() {
@@ -139,8 +138,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveManifestsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveManifests);
+  public Depset /*<Artifact>*/ getTransitiveManifestsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveManifests);
   }
 
   public NestedSet<Artifact> getTransitiveManifests() {
@@ -148,8 +147,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveAapt2RTxtForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveAapt2RTxt);
+  public Depset /*<Artifact>*/ getTransitiveAapt2RTxtForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveAapt2RTxt);
   }
 
   public NestedSet<Artifact> getTransitiveAapt2RTxt() {
@@ -157,8 +156,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveAapt2ValidationArtifactsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveAapt2ValidationArtifacts);
+  public Depset /*<Artifact>*/ getTransitiveAapt2ValidationArtifactsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveAapt2ValidationArtifacts);
   }
 
   NestedSet<Artifact> getTransitiveAapt2ValidationArtifacts() {
@@ -166,8 +165,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveSymbolsBinForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveSymbolsBin);
+  public Depset /*<Artifact>*/ getTransitiveSymbolsBinForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveSymbolsBin);
   }
 
   public NestedSet<Artifact> getTransitiveSymbolsBin() {
@@ -175,8 +174,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveCompiledSymbolsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveCompiledSymbols);
+  public Depset /*<Artifact>*/ getTransitiveCompiledSymbolsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveCompiledSymbols);
   }
 
   NestedSet<Artifact> getTransitiveCompiledSymbols() {
@@ -184,8 +183,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveStaticLibForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveStaticLib);
+  public Depset /*<Artifact>*/ getTransitiveStaticLibForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveStaticLib);
   }
 
   NestedSet<Artifact> getTransitiveStaticLib() {
@@ -193,8 +192,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveRTxtForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveRTxt);
+  public Depset /*<Artifact>*/ getTransitiveRTxtForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveRTxt);
   }
 
   NestedSet<Artifact> getTransitiveRTxt() {
@@ -215,15 +214,15 @@
         Label label,
         AndroidManifestInfo manifest,
         Artifact rTxt,
-        SkylarkNestedSet transitiveAndroidResources,
-        SkylarkNestedSet directAndroidResources,
-        SkylarkNestedSet transitiveResources,
-        SkylarkNestedSet transitiveManifests,
-        SkylarkNestedSet transitiveAapt2RTxt,
-        SkylarkNestedSet transitiveSymbolsBin,
-        SkylarkNestedSet transitiveCompiledSymbols,
-        SkylarkNestedSet transitiveStaticLib,
-        SkylarkNestedSet transitiveRTxt,
+        Depset transitiveAndroidResources,
+        Depset directAndroidResources,
+        Depset transitiveResources,
+        Depset transitiveManifests,
+        Depset transitiveAapt2RTxt,
+        Depset transitiveSymbolsBin,
+        Depset transitiveCompiledSymbols,
+        Depset transitiveStaticLib,
+        Depset transitiveRTxt,
         Object transitiveAapt2ValidationArtifacts)
         throws EvalException {
       return new AndroidResourcesInfo(
@@ -246,8 +245,8 @@
           nestedSet(transitiveRTxt, Artifact.class, "transitive_r_txt"));
     }
 
-    private static <T> NestedSet<T> nestedSet(
-        SkylarkNestedSet from, Class<T> with, String fieldName) throws EvalException {
+    private static <T> NestedSet<T> nestedSet(Depset from, Class<T> with, String fieldName)
+        throws EvalException {
       return NestedSetBuilder.<T>stableOrder()
           .addTransitive(from.getSetFromParam(with, fieldName))
           .build();
@@ -256,11 +255,10 @@
     private static <T> NestedSet<T> nestedSet(Object from, Class<T> with, String fieldName)
         throws EvalException {
       Preconditions.checkArgument(
-          from instanceof SkylarkNestedSet
-              || from == com.google.devtools.build.lib.syntax.Starlark.UNBOUND);
+          from instanceof Depset || from == com.google.devtools.build.lib.syntax.Starlark.UNBOUND);
 
-      if (from instanceof SkylarkNestedSet) {
-        return nestedSet((SkylarkNestedSet) from, with, fieldName);
+      if (from instanceof Depset) {
+        return nestedSet((Depset) from, with, fieldName);
       }
       return NestedSetBuilder.emptySet(Order.NAIVE_LINK_ORDER);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java
index bc2ae90..bfe2e78 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java
@@ -26,7 +26,7 @@
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider;
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSkylarkApiProviderApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import java.util.function.Function;
 import javax.annotation.Nullable;
 
@@ -72,7 +72,7 @@
   }
 
   @Override
-  public ImmutableMap<String, SkylarkNestedSet> getNativeLibs() {
+  public ImmutableMap<String, Depset> getNativeLibs() {
     return getIdeInfoProvider().getNativeLibsSkylark();
   }
 
@@ -97,8 +97,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getResources() {
-    return SkylarkNestedSet.of(
+  public Depset /*<Artifact>*/ getResources() {
+    return Depset.of(
         Artifact.TYPE, collectDirectArtifacts(ValidatedAndroidResources::getResources));
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/databinding/DataBindingV2Provider.java b/src/main/java/com/google/devtools/build/lib/rules/android/databinding/DataBindingV2Provider.java
index 6e0bcbe..8b782e5 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/databinding/DataBindingV2Provider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/databinding/DataBindingV2Provider.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.android.DataBindingV2ProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /**
@@ -76,8 +76,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveBRFilesForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveBRFiles);
+  public Depset /*<Artifact>*/ getTransitiveBRFilesForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveBRFiles);
   }
 
   public NestedSet<Artifact> getTransitiveBRFiles() {
@@ -91,9 +91,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<LabelJavaPackagePair>*/
-      getTransitiveLabelAndJavaPackagesForStarlark() {
-    return SkylarkNestedSet.of(LabelJavaPackagePair.class, transitiveLabelAndJavaPackages);
+  public Depset /*<LabelJavaPackagePair>*/ getTransitiveLabelAndJavaPackagesForStarlark() {
+    return Depset.of(LabelJavaPackagePair.class, transitiveLabelAndJavaPackages);
   }
 
   public NestedSet<LabelJavaPackagePair> getTransitiveLabelAndJavaPackages() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java
index a2adc7b..44f8995 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java
@@ -38,7 +38,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcCompilationContextApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.util.Pair;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.skyframe.SkyFunction.Environment;
@@ -138,25 +138,24 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkDefines() {
-    return SkylarkNestedSet.of(
-        String.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, getDefines()));
+  public Depset getSkylarkDefines() {
+    return Depset.of(String.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, getDefines()));
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkNonTransitiveDefines() {
-    return SkylarkNestedSet.of(
+  public Depset getSkylarkNonTransitiveDefines() {
+    return Depset.of(
         String.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, getNonTransitiveDefines()));
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkHeaders() {
-    return SkylarkNestedSet.of(Artifact.class, getDeclaredIncludeSrcs());
+  public Depset getSkylarkHeaders() {
+    return Depset.of(Artifact.class, getDeclaredIncludeSrcs());
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkSystemIncludeDirs() {
-    return SkylarkNestedSet.of(
+  public Depset getSkylarkSystemIncludeDirs() {
+    return Depset.of(
         String.class,
         NestedSetBuilder.wrap(
             Order.STABLE_ORDER,
@@ -166,8 +165,8 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkFrameworkIncludeDirs() {
-    return SkylarkNestedSet.of(
+  public Depset getSkylarkFrameworkIncludeDirs() {
+    return Depset.of(
         String.class,
         NestedSetBuilder.wrap(
             Order.STABLE_ORDER,
@@ -177,8 +176,8 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkIncludeDirs() {
-    return SkylarkNestedSet.of(
+  public Depset getSkylarkIncludeDirs() {
+    return Depset.of(
         String.class,
         NestedSetBuilder.wrap(
             Order.STABLE_ORDER,
@@ -188,8 +187,8 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkQuoteIncludeDirs() {
-    return SkylarkNestedSet.of(
+  public Depset getSkylarkQuoteIncludeDirs() {
+    return Depset.of(
         String.class,
         NestedSetBuilder.wrap(
             Order.STABLE_ORDER,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingContext.java
index e2686ea..7bfb643 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingContext.java
@@ -30,9 +30,9 @@
 import com.google.devtools.build.lib.packages.SymbolGenerator;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcLinkingContextApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.LinkerInputApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.util.Fingerprint;
@@ -388,8 +388,8 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkLinkerInputs() {
-    return SkylarkNestedSet.of(LinkerInput.class, linkerInputs);
+  public Depset getSkylarkLinkerInputs() {
+    return Depset.of(LinkerInput.class, linkerInputs);
   }
 
   @Override
@@ -401,15 +401,15 @@
   public Object getSkylarkLibrariesToLink(StarlarkThread thread) {
     // TODO(plf): Flag can be removed already.
     if (thread.getSemantics().incompatibleDepsetForLibrariesToLinkGetter()) {
-      return SkylarkNestedSet.of(LibraryToLink.class, getLibraries());
+      return Depset.of(LibraryToLink.class, getLibraries());
     } else {
       return StarlarkList.immutableCopyOf(getLibraries().toList());
     }
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkNonCodeInputs() {
-    return SkylarkNestedSet.of(Artifact.class, getNonCodeInputs());
+  public Depset getSkylarkNonCodeInputs() {
+    return Depset.of(Artifact.class, getNonCodeInputs());
   }
 
   public NestedSet<LinkOptions> getUserLinkFlags() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
index 061d387..5beb8fa 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
@@ -57,12 +57,12 @@
 import com.google.devtools.build.lib.rules.cpp.Link.LinkTargetType;
 import com.google.devtools.build.lib.rules.cpp.Link.LinkingMode;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcModuleApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -246,15 +246,13 @@
         /* variablesExtensions= */ ImmutableList.of(),
         /* additionalBuildVariables= */ ImmutableMap.of(),
         /* directModuleMaps= */ ImmutableList.of(),
-        SkylarkNestedSet.getSetFromNoneableParam(
-            includeDirs, String.class, "framework_include_directories"),
-        SkylarkNestedSet.getSetFromNoneableParam(
-            quoteIncludeDirs, String.class, "quote_include_directories"),
-        SkylarkNestedSet.getSetFromNoneableParam(
+        Depset.getSetFromNoneableParam(includeDirs, String.class, "framework_include_directories"),
+        Depset.getSetFromNoneableParam(quoteIncludeDirs, String.class, "quote_include_directories"),
+        Depset.getSetFromNoneableParam(
             systemIncludeDirs, String.class, "system_include_directories"),
-        SkylarkNestedSet.getSetFromNoneableParam(
+        Depset.getSetFromNoneableParam(
             frameworkIncludeDirs, String.class, "framework_include_directories"),
-        SkylarkNestedSet.getSetFromNoneableParam(defines, String.class, "preprocessor_defines"),
+        Depset.getSetFromNoneableParam(defines, String.class, "preprocessor_defines"),
         NestedSetBuilder.emptySet(Order.STABLE_ORDER));
   }
 
@@ -297,10 +295,10 @@
         /* ltoOutputRootPrefix= */ null,
         convertFromNoneable(defFile, /* defaultValue= */ null),
         /* fdoContext= */ null,
-        SkylarkNestedSet.getSetFromNoneableParam(
+        Depset.getSetFromNoneableParam(
             runtimeLibrarySearchDirectories, String.class, "runtime_library_search_directories"),
         /* librariesToLink= */ null,
-        SkylarkNestedSet.getSetFromNoneableParam(
+        Depset.getSetFromNoneableParam(
             librarySearchDirectories, String.class, "library_search_directories"),
         /* addIfsoRelatedVariables= */ false);
   }
@@ -325,10 +323,9 @@
     return (T) obj; // totally unsafe
   }
 
-  /** Converts an object that can be ether SkylarkNestedSet or None into NestedSet. */
-  protected NestedSet<String> asStringNestedSet(Object o) throws SkylarkNestedSet.TypeException {
-    SkylarkNestedSet skylarkNestedSet =
-        convertFromNoneable(o, /* defaultValue= */ (SkylarkNestedSet) null);
+  /** Converts an object that can be ether Depset or None into NestedSet. */
+  protected NestedSet<String> asStringNestedSet(Object o) throws Depset.TypeException {
+    Depset skylarkNestedSet = convertFromNoneable(o, /* defaultValue= */ (Depset) null);
     if (skylarkNestedSet != null) {
       return skylarkNestedSet.getSet(String.class);
     } else {
@@ -556,7 +553,7 @@
     if (obj == Starlark.UNBOUND) {
       return NestedSetBuilder.emptySet(Order.STABLE_ORDER);
     } else {
-      return SkylarkNestedSet.getSetFromNoneableParam(obj, Artifact.class, fieldName);
+      return Depset.getSetFromNoneableParam(obj, Artifact.class, fieldName);
     }
   }
 
@@ -565,7 +562,7 @@
     if (obj == Starlark.UNBOUND) {
       return NestedSetBuilder.emptySet(Order.STABLE_ORDER);
     } else {
-      return SkylarkNestedSet.getSetFromNoneableParam(obj, String.class, fieldName);
+      return Depset.getSetFromNoneableParam(obj, String.class, fieldName);
     }
   }
 
@@ -581,21 +578,18 @@
 
     LinkOptions options =
         LinkOptions.of(
-            SkylarkNestedSet.getSetFromNoneableParam(
-                    userLinkFlagsObject, String.class, "user_link_flags")
+            Depset.getSetFromNoneableParam(userLinkFlagsObject, String.class, "user_link_flags")
                 .toList(),
             BazelStarlarkContext.from(thread).getSymbolGenerator());
 
     return CcLinkingContext.LinkerInput.builder()
         .setOwner(owner)
         .addLibraries(
-            SkylarkNestedSet.getSetFromNoneableParam(
-                    librariesToLinkObject, LibraryToLink.class, "libraries")
+            Depset.getSetFromNoneableParam(librariesToLinkObject, LibraryToLink.class, "libraries")
                 .toList())
         .addUserLinkFlags(ImmutableList.of(options))
         .addNonCodeInputs(
-            SkylarkNestedSet.getSetFromNoneableParam(
-                    nonCodeInputs, Artifact.class, "additional_inputs")
+            Depset.getSetFromNoneableParam(nonCodeInputs, Artifact.class, "additional_inputs")
                 .toList())
         .build();
   }
@@ -642,7 +636,7 @@
     } else {
       CcLinkingContext.Builder ccLinkingContextBuilder = CcLinkingContext.builder();
       ccLinkingContextBuilder.addTransitiveLinkerInputs(
-          SkylarkNestedSet.getSetFromNoneableParam(
+          Depset.getSetFromNoneableParam(
               linkerInputs, CcLinkingContext.LinkerInput.class, "linker_inputs"));
 
       @SuppressWarnings("unchecked")
@@ -669,13 +663,12 @@
     return ccToolchain.getLegacyCcFlagsMakeVariable();
   }
 
-  /** Converts an object that can be the either SkylarkNestedSet or None into NestedSet. */
+  /** Converts an object that can be the either Depset or None into NestedSet. */
   @SuppressWarnings("unchecked")
-  protected Object skylarkListToSkylarkNestedSet(Object o) throws EvalException {
+  protected Object skylarkListToDepset(Object o) throws EvalException {
     if (o instanceof Sequence) {
       Sequence<String> list = (Sequence<String>) o;
-      SkylarkNestedSet.Builder builder =
-          SkylarkNestedSet.builder(Order.STABLE_ORDER, Location.BUILTIN);
+      Depset.Builder builder = Depset.builder(Order.STABLE_ORDER, Location.BUILTIN);
       for (Object entry : list) {
         builder.addDirect(entry);
       }
@@ -684,15 +677,15 @@
     return o;
   }
 
-  /** Converts None, or a Sequence, or a SkylarkNestedSet to a NestedSet. */
+  /** Converts None, or a Sequence, or a Depset to a NestedSet. */
   @SuppressWarnings("unchecked")
   private static <T> NestedSet<T> convertToNestedSet(Object o, Class<T> type, String fieldName)
       throws EvalException {
     if (o == Starlark.NONE) {
       return NestedSetBuilder.emptySet(Order.COMPILE_ORDER);
     }
-    return o instanceof SkylarkNestedSet
-        ? ((SkylarkNestedSet) o).getSetFromParam(type, fieldName)
+    return o instanceof Depset
+        ? ((Depset) o).getSetFromParam(type, fieldName)
         : NestedSetBuilder.wrap(Order.COMPILE_ORDER, (Sequence<T>) o);
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java
index 81969e4..133bf9c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcSkylarkApiProviderApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.vfs.PathFragment;
 
 /**
@@ -43,8 +43,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveHeadersForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, getTransitiveHeaders());
+  public Depset /*<Artifact>*/ getTransitiveHeadersForStarlark() {
+    return Depset.of(Artifact.TYPE, getTransitiveHeaders());
   }
 
   NestedSet<Artifact> getTransitiveHeaders() {
@@ -54,8 +54,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getLibrariesForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, getLibraries());
+  public Depset /*<Artifact>*/ getLibrariesForStarlark() {
+    return Depset.of(Artifact.TYPE, getLibraries());
   }
 
   NestedSet<Artifact> getLibraries() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
index c8ec462..78dbfa8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
@@ -35,8 +35,8 @@
 import com.google.devtools.build.lib.rules.cpp.CppConfiguration.Tool;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcToolchainProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import javax.annotation.Nullable;
 
@@ -428,22 +428,22 @@
   }
 
   @Override
-  public SkylarkNestedSet getAllFilesForStarlark() {
-    return SkylarkNestedSet.of(Artifact.class, getAllFiles());
+  public Depset getAllFilesForStarlark() {
+    return Depset.of(Artifact.class, getAllFiles());
   }
 
   @Override
-  public SkylarkNestedSet getStaticRuntimeLibForStarlark(
+  public Depset getStaticRuntimeLibForStarlark(
       FeatureConfigurationForStarlark featureConfigurationForStarlark) throws EvalException {
-    return SkylarkNestedSet.of(
+    return Depset.of(
         (Artifact.class),
         getStaticRuntimeLinkInputs(featureConfigurationForStarlark.getFeatureConfiguration()));
   }
 
   @Override
-  public SkylarkNestedSet getDynamicRuntimeLibForStarlark(
+  public Depset getDynamicRuntimeLibForStarlark(
       FeatureConfigurationForStarlark featureConfigurationForStarlark) throws EvalException {
-    return SkylarkNestedSet.of(
+    return Depset.of(
         (Artifact.class),
         getDynamicRuntimeLinkInputs(featureConfigurationForStarlark.getFeatureConfiguration()));
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java
index 358c9e6..9bdb02f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java
@@ -36,9 +36,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.go.GoContextInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.go.GoPackageInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Tuple;
 
 /**
@@ -68,8 +68,7 @@
     }
 
     @Override
-    public SkylarkNestedSet skylarkCollectTransitiveSwigIncludes(
-        SkylarkRuleContextApi skylarkRuleContext) {
+    public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextApi skylarkRuleContext) {
       return null;
     }
 
@@ -94,7 +93,7 @@
 
     @Override
     public WrapCcIncludeProviderApi getWrapCcIncludeProvider(
-        SkylarkRuleContextApi skylarkRuleContext, SkylarkNestedSet swigIncludes)
+        SkylarkRuleContextApi skylarkRuleContext, Depset swigIncludes)
         throws EvalException, InterruptedException {
       return null;
     }
@@ -105,7 +104,7 @@
         CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain,
         FeatureConfigurationApi featureConfiguration,
         CcCompilationContextApi wrapperCcCompilationContext,
-        SkylarkNestedSet swigIncludes,
+        Depset swigIncludes,
         FileApi swigSource,
         Sequence<?> subParameters, // <String>
         FileApi ccFile,
@@ -113,7 +112,7 @@
         Sequence<?> outputFiles, // <FileApi>
         Object outDir,
         Object javaDir,
-        SkylarkNestedSet auxiliaryInputs,
+        Depset auxiliaryInputs,
         String swigAttributeName,
         Object zipTool)
         throws EvalException, InterruptedException {}
@@ -140,14 +139,14 @@
     }
 
     @Override
-    public SkylarkNestedSet getTransitivePythonSources(
+    public Depset getTransitivePythonSources(
         SkylarkRuleContextApi skylarkRuleContext, FileApi pyFile) {
       return null;
     }
 
     @Override
     public RunfilesApi getPythonRunfiles(
-        SkylarkRuleContextApi skylarkRuleContext, SkylarkNestedSet filesToBuild) {
+        SkylarkRuleContextApi skylarkRuleContext, Depset filesToBuild) {
       return null;
     }
 
@@ -238,7 +237,7 @@
     }
 
     @Override
-    public SkylarkNestedSet /*<FileApi>*/ getGopackageFilesForStarlark(
+    public Depset /*<FileApi>*/ getGopackageFilesForStarlark(
         SkylarkRuleContextApi skylarkRuleContext, FileApi skylarkGopkg) {
       return null;
     }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationInfoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationInfoProvider.java
index ee23f24..4b27c84 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationInfoProvider.java
@@ -21,7 +21,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCompilationInfoProviderApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import javax.annotation.Nullable;
 
 /**
@@ -76,16 +76,14 @@
 
   @Override
   @Nullable
-  public SkylarkNestedSet /*<Artifact>*/ getRuntimeClasspath() {
-    return runtimeClasspath == null ? null : SkylarkNestedSet.of(Artifact.TYPE, runtimeClasspath);
+  public Depset /*<Artifact>*/ getRuntimeClasspath() {
+    return runtimeClasspath == null ? null : Depset.of(Artifact.TYPE, runtimeClasspath);
   }
 
   @Override
   @Nullable
-  public SkylarkNestedSet /*<Artifact>*/ getCompilationClasspath() {
-    return compilationClasspath == null
-        ? null
-        : SkylarkNestedSet.of(Artifact.TYPE, compilationClasspath);
+  public Depset /*<Artifact>*/ getCompilationClasspath() {
+    return compilationClasspath == null ? null : Depset.of(Artifact.TYPE, compilationClasspath);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java
index fc69382..2f91d4b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java
@@ -22,7 +22,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaAnnotationProcessingApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import javax.annotation.Nullable;
 
 /** The collection of gen jars from the transitive closure. */
@@ -106,8 +106,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveGenClassJarsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveGenClassJars);
+  public Depset /*<Artifact>*/ getTransitiveGenClassJarsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveGenClassJars);
   }
 
   NestedSet<Artifact> getTransitiveGenClassJars() {
@@ -115,8 +115,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveGenSourceJarsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveGenSourceJars);
+  public Depset /*<Artifact>*/ getTransitiveGenSourceJarsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveGenSourceJars);
   }
 
   NestedSet<Artifact> getTransitiveGenSourceJars() {
@@ -124,8 +124,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getProcessorClasspathForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, processorClasspath);
+  public Depset /*<Artifact>*/ getProcessorClasspathForStarlark() {
+    return Depset.of(Artifact.TYPE, processorClasspath);
   }
 
   NestedSet<Artifact> getProcessorClasspath() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index 136d27e..3b39a24 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -38,9 +38,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
@@ -261,31 +261,31 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveRuntimeJars() {
+  public Depset /*<Artifact>*/ getTransitiveRuntimeJars() {
     return getTransitiveRuntimeDeps();
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveCompileTimeJars() {
+  public Depset /*<Artifact>*/ getTransitiveCompileTimeJars() {
     return getTransitiveDeps();
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getCompileTimeJars() {
+  public Depset /*<Artifact>*/ getCompileTimeJars() {
     NestedSet<Artifact> compileTimeJars =
         getProviderAsNestedSet(
             JavaCompilationArgsProvider.class,
             JavaCompilationArgsProvider::getDirectCompileTimeJars);
-    return SkylarkNestedSet.of(Artifact.TYPE, compileTimeJars);
+    return Depset.of(Artifact.TYPE, compileTimeJars);
   }
 
   @Override
-  public SkylarkNestedSet getFullCompileTimeJars() {
+  public Depset getFullCompileTimeJars() {
     NestedSet<Artifact> fullCompileTimeJars =
         getProviderAsNestedSet(
             JavaCompilationArgsProvider.class,
             JavaCompilationArgsProvider::getDirectFullCompileTimeJars);
-    return SkylarkNestedSet.of(Artifact.TYPE, fullCompileTimeJars);
+    return Depset.of(Artifact.TYPE, fullCompileTimeJars);
   }
 
   @Override
@@ -322,8 +322,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveDeps() {
-    return SkylarkNestedSet.of(
+  public Depset /*<Artifact>*/ getTransitiveDeps() {
+    return Depset.of(
         Artifact.TYPE,
         getProviderAsNestedSet(
             JavaCompilationArgsProvider.class,
@@ -331,24 +331,24 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveRuntimeDeps() {
-    return SkylarkNestedSet.of(
+  public Depset /*<Artifact>*/ getTransitiveRuntimeDeps() {
+    return Depset.of(
         Artifact.TYPE,
         getProviderAsNestedSet(
             JavaCompilationArgsProvider.class, JavaCompilationArgsProvider::getRuntimeJars));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveSourceJars() {
-    return SkylarkNestedSet.of(
+  public Depset /*<Artifact>*/ getTransitiveSourceJars() {
+    return Depset.of(
         Artifact.TYPE,
         getProviderAsNestedSet(
             JavaSourceJarsProvider.class, JavaSourceJarsProvider::getTransitiveSourceJars));
   }
 
   @Override
-  public SkylarkNestedSet /*<Label>*/ getTransitiveExports() {
-    return SkylarkNestedSet.of(
+  public Depset /*<Label>*/ getTransitiveExports() {
+    return Depset.of(
         SkylarkType.of(Label.class),
         getProviderAsNestedSet(
             JavaExportsProvider.class, JavaExportsProvider::getTransitiveExports));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeClasspathProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeClasspathProvider.java
index a09f0d8..79d6f50 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeClasspathProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeClasspathProvider.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaRuntimeClasspathProviderApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /**
  * Provider for the runtime classpath contributions of a Java binary.
@@ -40,8 +40,8 @@
 
   /** Returns the artifacts included on the runtime classpath of this binary. */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getRuntimeClasspath() {
-    return SkylarkNestedSet.of(Artifact.TYPE, runtimeClasspath);
+  public Depset /*<Artifact>*/ getRuntimeClasspath() {
+    return Depset.of(Artifact.TYPE, runtimeClasspath);
   }
 
   public NestedSet<Artifact> getRuntimeClasspathNestedSet() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
index da0caba..05e9589 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
@@ -32,7 +32,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaRuntimeInfoApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import javax.annotation.Nullable;
 
@@ -160,8 +160,8 @@
   }
 
   @Override
-  public SkylarkNestedSet skylarkJavaBaseInputs() {
-    return SkylarkNestedSet.of(Artifact.class, javaBaseInputs());
+  public Depset skylarkJavaBaseInputs() {
+    return Depset.of(Artifact.class, javaBaseInputs());
   }
 
   // Not all of JavaRuntimeInfo is exposed to Skylark, which makes implementing deep equality
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
index 821d4bf..6ab82dc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
@@ -25,9 +25,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCommonApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -226,7 +226,7 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getCompileTimeJavaDependencyArtifacts(JavaInfo javaInfo) {
+  public Depset /*<Artifact>*/ getCompileTimeJavaDependencyArtifacts(JavaInfo javaInfo) {
     // No implementation in Bazel. This method not callable in Starlark except through
     // (discouraged) use of --experimental_google_legacy_api.
     return null;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
index 9e70876..a8b6a93 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
@@ -35,8 +35,8 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import java.util.Iterator;
 import javax.annotation.Nullable;
@@ -410,8 +410,8 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkBootclasspath() {
-    return SkylarkNestedSet.of(Artifact.class, getBootclasspath());
+  public Depset getSkylarkBootclasspath() {
+    return Depset.of(Artifact.class, getBootclasspath());
   }
 
   @Override
@@ -420,7 +420,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkTools() {
-    return SkylarkNestedSet.of(Artifact.class, getTools());
+  public Depset getSkylarkTools() {
+    return Depset.of(Artifact.class, getTools());
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardSpecProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardSpecProvider.java
index 572fa14..c8cecdd 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardSpecProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardSpecProvider.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.java.ProguardSpecProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** A target that can provide proguard specifications to Android binaries. */
 @Immutable
@@ -39,8 +39,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveProguardSpecsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveProguardSpecs);
+  public Depset /*<Artifact>*/ getTransitiveProguardSpecsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveProguardSpecs);
   }
 
   public NestedSet<Artifact> getTransitiveProguardSpecs() {
@@ -67,7 +67,7 @@
     }
 
     @Override
-    public ProguardSpecProvider create(SkylarkNestedSet specs) throws EvalException {
+    public ProguardSpecProvider create(Depset specs) throws EvalException {
       return new ProguardSpecProvider(
           NestedSetBuilder.<Artifact>stableOrder()
               .addTransitive(specs.getSetFromParam(Artifact.class, "specs"))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/GeneratedExtensionRegistryProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/GeneratedExtensionRegistryProvider.java
index 89c6823..8bf922e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/GeneratedExtensionRegistryProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/GeneratedExtensionRegistryProvider.java
@@ -24,8 +24,8 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.java.GeneratedExtensionRegistryProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * A {@link TransitiveInfoProvider} for {@link Artifact}s created and used to generate the proto
@@ -71,8 +71,8 @@
 
   /** @return the proto jars used to generate the registry. */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getInputsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, inputs);
+  public Depset /*<Artifact>*/ getInputsForStarlark() {
+    return Depset.of(Artifact.TYPE, inputs);
   }
 
   public NestedSet<Artifact> getInputs() {
@@ -159,7 +159,7 @@
         boolean isLite,
         Artifact classJar,
         Artifact srcJar,
-        SkylarkNestedSet inputs)
+        Depset inputs)
         throws EvalException {
       return new GeneratedExtensionRegistryProvider(
           generatingRuleLabel,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
index 73aae1b..75662cd 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.packages.NativeProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleDynamicFrameworkInfoApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import javax.annotation.Nullable;
 
@@ -77,13 +77,13 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ getDynamicFrameworkDirs() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, dynamicFrameworkDirs);
+  public Depset /*<String>*/ getDynamicFrameworkDirs() {
+    return Depset.of(SkylarkType.STRING, dynamicFrameworkDirs);
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getDynamicFrameworkFiles() {
-    return SkylarkNestedSet.of(SkylarkType.of(Artifact.class), dynamicFrameworkFiles);
+  public Depset /*<Artifact>*/ getDynamicFrameworkFiles() {
+    return Depset.of(SkylarkType.of(Artifact.class), dynamicFrameworkFiles);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
index 11817f5..d0ca811 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
@@ -43,10 +43,10 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleCommonApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.Map;
@@ -204,11 +204,9 @@
       Object dynamicFrameworkFiles)
       throws EvalException {
     NestedSet<String> frameworkDirs =
-        SkylarkNestedSet.getSetFromNoneableParam(
-            dynamicFrameworkDirs, String.class, "framework_dirs");
+        Depset.getSetFromNoneableParam(dynamicFrameworkDirs, String.class, "framework_dirs");
     NestedSet<Artifact> frameworkFiles =
-        SkylarkNestedSet.getSetFromNoneableParam(
-            dynamicFrameworkFiles, Artifact.class, "framework_files");
+        Depset.getSetFromNoneableParam(dynamicFrameworkFiles, Artifact.class, "framework_files");
     Artifact binary = (dylibBinary != Starlark.NONE) ? (Artifact) dylibBinary : null;
 
     return new AppleDynamicFrameworkInfo(
@@ -262,7 +260,7 @@
     // of plain NestedSets because the Skylark caller may want to return this directly from their
     // implementation function.
     Map<String, SkylarkValue> outputGroups =
-        Maps.transformValues(output.getOutputGroups(), v -> SkylarkNestedSet.of(Artifact.class, v));
+        Maps.transformValues(output.getOutputGroups(), v -> Depset.of(Artifact.class, v));
 
     ImmutableMap<String, Object> fields =
         ImmutableMap.of(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
index b65b5dc..0f1f568 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
@@ -39,10 +39,10 @@
 import com.google.devtools.build.lib.rules.cpp.CppModuleMap;
 import com.google.devtools.build.lib.rules.cpp.LibraryToLink;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ObjcProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -396,8 +396,8 @@
       ImmutableSet.<Key<?>>of(HEADER, MODULE_MAP, SOURCE);
 
   @Override
-  public SkylarkNestedSet /*<String>*/ defineForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, define());
+  public Depset /*<String>*/ defineForStarlark() {
+    return Depset.of(SkylarkType.STRING, define());
   }
 
   public NestedSet<String> define() {
@@ -405,8 +405,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ dynamicFrameworkFileForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, dynamicFrameworkFile());
+  public Depset /*<Artifact>*/ dynamicFrameworkFileForStarlark() {
+    return Depset.of(Artifact.TYPE, dynamicFrameworkFile());
   }
 
   NestedSet<Artifact> dynamicFrameworkFile() {
@@ -414,23 +414,23 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ exportedDebugArtifacts() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(EXPORTED_DEBUG_ARTIFACTS));
+  public Depset /*<Artifact>*/ exportedDebugArtifacts() {
+    return Depset.of(Artifact.TYPE, get(EXPORTED_DEBUG_ARTIFACTS));
   }
 
   @Override
-  public SkylarkNestedSet frameworkSearchPathOnly() {
+  public Depset frameworkSearchPathOnly() {
     return ObjcProviderSkylarkConverters.convertPathFragmentsToSkylark(get(FRAMEWORK_SEARCH_PATHS));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ forceLoadLibrary() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(FORCE_LOAD_LIBRARY));
+  public Depset /*<Artifact>*/ forceLoadLibrary() {
+    return Depset.of(Artifact.TYPE, get(FORCE_LOAD_LIBRARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ headerForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, header());
+  public Depset /*<Artifact>*/ headerForStarlark() {
+    return Depset.of(Artifact.TYPE, header());
   }
 
   NestedSet<Artifact> header() {
@@ -443,68 +443,68 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ importedLibrary() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(IMPORTED_LIBRARY));
+  public Depset /*<Artifact>*/ importedLibrary() {
+    return Depset.of(Artifact.TYPE, get(IMPORTED_LIBRARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ include() {
+  public Depset /*<String>*/ include() {
     return ObjcProviderSkylarkConverters.convertPathFragmentsToSkylark(get(INCLUDE));
   }
 
   @Override
-  public SkylarkNestedSet includeSystem() {
+  public Depset includeSystem() {
     return ObjcProviderSkylarkConverters.convertPathFragmentsToSkylark(get(INCLUDE_SYSTEM));
   }
 
   @Override
-  public SkylarkNestedSet iquote() {
+  public Depset iquote() {
     return ObjcProviderSkylarkConverters.convertPathFragmentsToSkylark(get(IQUOTE));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ j2objcLibrary() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(J2OBJC_LIBRARY));
+  public Depset /*<Artifact>*/ j2objcLibrary() {
+    return Depset.of(Artifact.TYPE, get(J2OBJC_LIBRARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ jreLibrary() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(JRE_LIBRARY));
+  public Depset /*<Artifact>*/ jreLibrary() {
+    return Depset.of(Artifact.TYPE, get(JRE_LIBRARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ library() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(LIBRARY));
+  public Depset /*<Artifact>*/ library() {
+    return Depset.of(Artifact.TYPE, get(LIBRARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ linkInputs() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(LINK_INPUTS));
+  public Depset /*<Artifact>*/ linkInputs() {
+    return Depset.of(Artifact.TYPE, get(LINK_INPUTS));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ linkedBinary() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(LINKED_BINARY));
+  public Depset /*<Artifact>*/ linkedBinary() {
+    return Depset.of(Artifact.TYPE, get(LINKED_BINARY));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ linkmapFile() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(LINKMAP_FILE));
+  public Depset /*<Artifact>*/ linkmapFile() {
+    return Depset.of(Artifact.TYPE, get(LINKMAP_FILE));
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ linkopt() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, get(LINKOPT));
+  public Depset /*<String>*/ linkopt() {
+    return Depset.of(SkylarkType.STRING, get(LINKOPT));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ mergeZip() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(MERGE_ZIP));
+  public Depset /*<Artifact>*/ mergeZip() {
+    return Depset.of(Artifact.TYPE, get(MERGE_ZIP));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ moduleMap() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(MODULE_MAP));
+  public Depset /*<Artifact>*/ moduleMap() {
+    return Depset.of(Artifact.TYPE, get(MODULE_MAP));
   }
 
   @Override
@@ -513,34 +513,34 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ multiArchDynamicLibraries() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(MULTI_ARCH_DYNAMIC_LIBRARIES));
+  public Depset /*<Artifact>*/ multiArchDynamicLibraries() {
+    return Depset.of(Artifact.TYPE, get(MULTI_ARCH_DYNAMIC_LIBRARIES));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ multiArchLinkedArchives() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(MULTI_ARCH_LINKED_ARCHIVES));
+  public Depset /*<Artifact>*/ multiArchLinkedArchives() {
+    return Depset.of(Artifact.TYPE, get(MULTI_ARCH_LINKED_ARCHIVES));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ multiArchLinkedBinaries() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(MULTI_ARCH_LINKED_BINARIES));
+  public Depset /*<Artifact>*/ multiArchLinkedBinaries() {
+    return Depset.of(Artifact.TYPE, get(MULTI_ARCH_LINKED_BINARIES));
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ sdkDylib() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, get(SDK_DYLIB));
+  public Depset /*<String>*/ sdkDylib() {
+    return Depset.of(SkylarkType.STRING, get(SDK_DYLIB));
   }
 
   @Override
-  public SkylarkNestedSet sdkFramework() {
-    return (SkylarkNestedSet) ObjcProviderSkylarkConverters.convertToSkylark(SDK_FRAMEWORK,
-        get(SDK_FRAMEWORK));
+  public Depset sdkFramework() {
+    return (Depset)
+        ObjcProviderSkylarkConverters.convertToSkylark(SDK_FRAMEWORK, get(SDK_FRAMEWORK));
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ sourceForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, source());
+  public Depset /*<Artifact>*/ sourceForStarlark() {
+    return Depset.of(Artifact.TYPE, source());
   }
 
   NestedSet<Artifact> source() {
@@ -553,8 +553,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ staticFrameworkFileForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, staticFrameworkFile());
+  public Depset /*<Artifact>*/ staticFrameworkFileForStarlark() {
+    return Depset.of(Artifact.TYPE, staticFrameworkFile());
   }
 
   NestedSet<Artifact> staticFrameworkFile() {
@@ -562,14 +562,14 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ umbrellaHeader() {
-    return SkylarkNestedSet.of(Artifact.TYPE, get(UMBRELLA_HEADER));
+  public Depset /*<Artifact>*/ umbrellaHeader() {
+    return Depset.of(Artifact.TYPE, get(UMBRELLA_HEADER));
   }
 
   @Override
-  public SkylarkNestedSet weakSdkFramework() {
-    return (SkylarkNestedSet) ObjcProviderSkylarkConverters.convertToSkylark(WEAK_SDK_FRAMEWORK,
-        get(WEAK_SDK_FRAMEWORK));
+  public Depset weakSdkFramework() {
+    return (Depset)
+        ObjcProviderSkylarkConverters.convertToSkylark(WEAK_SDK_FRAMEWORK, get(WEAK_SDK_FRAMEWORK));
   }
 
   /**
@@ -958,8 +958,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkNamesForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, dynamicFrameworkNames());
+  public Depset /*<String>*/ dynamicFrameworkNamesForStarlark() {
+    return Depset.of(SkylarkType.STRING, dynamicFrameworkNames());
   }
 
   NestedSet<String> dynamicFrameworkNames() {
@@ -967,8 +967,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkPathsForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, dynamicFrameworkPaths());
+  public Depset /*<String>*/ dynamicFrameworkPathsForStarlark() {
+    return Depset.of(SkylarkType.STRING, dynamicFrameworkPaths());
   }
 
   NestedSet<String> dynamicFrameworkPaths() {
@@ -976,8 +976,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ staticFrameworkNamesForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, staticFrameworkNames());
+  public Depset /*<String>*/ staticFrameworkNamesForStarlark() {
+    return Depset.of(SkylarkType.STRING, staticFrameworkNames());
   }
 
   NestedSet<String> staticFrameworkNames() {
@@ -985,8 +985,8 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ staticFrameworkPathsForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, staticFrameworkPaths());
+  public Depset /*<String>*/ staticFrameworkPathsForStarlark() {
+    return Depset.of(SkylarkType.STRING, staticFrameworkPaths());
   }
 
   NestedSet<String> staticFrameworkPaths() {
@@ -1146,7 +1146,7 @@
 
     /**
      * Add elements in toAdd with the given key from skylark. An error is thrown if toAdd is not an
-     * appropriate SkylarkNestedSet.
+     * appropriate Depset.
      */
     void addElementsFromSkylark(Key<?> key, Object skylarkToAdd) throws EvalException {
       NestedSet<?> toAdd = ObjcProviderSkylarkConverters.convertToJava(key, skylarkToAdd);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
index 28df790..e1aa79e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.rules.objc.ObjcProvider.Key;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.vfs.PathFragment;
 
@@ -58,16 +58,13 @@
     return CONVERTERS.get(javaKey.getType()).valueForJava(javaKey, skylarkValue);
   }
 
-  /**
-   * Converts {@link PathFragment}s into a skylark-compatible nested set of path strings.
-   */
-  public static SkylarkNestedSet convertPathFragmentsToSkylark(
-      Iterable<PathFragment> pathFragments) {
+  /** Converts {@link PathFragment}s into a skylark-compatible nested set of path strings. */
+  public static Depset convertPathFragmentsToSkylark(Iterable<PathFragment> pathFragments) {
     NestedSetBuilder<String> result = NestedSetBuilder.stableOrder();
     for (PathFragment path : pathFragments) {
       result.add(path.getSafePathString());
     }
-    return SkylarkNestedSet.of(String.class, result.build());
+    return Depset.of(String.class, result.build());
   }
 
   /** A converter for ObjcProvider values. */
@@ -87,7 +84,7 @@
     @Override
     public Object valueForSkylark(Key<?> javaKey, NestedSet<?> javaValue) {
       SkylarkType type = SkylarkType.of(javaKey.getType());
-      return SkylarkNestedSet.of(type, javaValue);
+      return Depset.of(type, javaValue);
     }
 
     @Override
@@ -131,7 +128,7 @@
       for (SdkFramework framework : (Iterable<SdkFramework>) javaValue) {
         result.add(framework.getName());
       }
-      return SkylarkNestedSet.of(String.class, result.build());
+      return Depset.of(String.class, result.build());
     }
 
     @Override
@@ -149,11 +146,11 @@
   /** Throws an error if the given object is not a nested set of the given type. */
   private static <T> NestedSet<T> nestedSetWithType(
       Object toCheck, Class<T> expectedSetType, String keyName) throws EvalException {
-    if (toCheck instanceof SkylarkNestedSet) {
-      SkylarkNestedSet sns = (SkylarkNestedSet) toCheck;
+    if (toCheck instanceof Depset) {
+      Depset sns = (Depset) toCheck;
       try {
         return sns.getSet(expectedSetType);
-      } catch (SkylarkNestedSet.TypeException exception) {
+      } catch (Depset.TypeException exception) {
         throw new EvalException(
             null,
             String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/README.md b/src/main/java/com/google/devtools/build/lib/rules/objc/README.md
index 1a3fc54..64ea951 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/README.md
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/README.md
@@ -56,7 +56,7 @@
 keys.
 
 ```
-    libraries = objc_provider.library  # A SkylarkNestedSet of Artifacts
+    libraries = objc_provider.library  # A Depset of Artifacts
 ```
 
 A skylark rule that is intended to be a dependency of native objc rules should
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
index 3fb6b57..f9a9280 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
@@ -24,7 +24,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.ProtoInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.proto.ProtoBootstrap;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.util.Pair;
 import javax.annotation.Nullable;
@@ -124,8 +124,8 @@
 
   /** The proto sources in the transitive closure of this rule. */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveProtoSourcesForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, getTransitiveProtoSources());
+  public Depset /*<Artifact>*/ getTransitiveProtoSourcesForStarlark() {
+    return Depset.of(Artifact.TYPE, getTransitiveProtoSources());
   }
 
   public NestedSet<Artifact> getTransitiveProtoSources() {
@@ -137,8 +137,8 @@
    * {@code protoc} in the specified order, via the {@code --proto_path} flag.
    */
   @Override
-  public SkylarkNestedSet /*<String>*/ getTransitiveProtoSourceRootsForStarlark() {
-    return SkylarkNestedSet.of(SkylarkType.STRING, transitiveProtoSourceRoots);
+  public Depset /*<String>*/ getTransitiveProtoSourceRootsForStarlark() {
+    return Depset.of(SkylarkType.STRING, transitiveProtoSourceRoots);
   }
 
   public NestedSet<String> getTransitiveProtoSourceRoots() {
@@ -147,7 +147,7 @@
 
   @Deprecated
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveImports() {
+  public Depset /*<Artifact>*/ getTransitiveImports() {
     return getTransitiveProtoSourcesForStarlark();
   }
 
@@ -159,8 +159,8 @@
    * direct dependencies, but not from transitive ones)
    */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getStrictImportableProtoSourcesForDependentsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, strictImportableProtoSourcesForDependents);
+  public Depset /*<Artifact>*/ getStrictImportableProtoSourcesForDependentsForStarlark() {
+    return Depset.of(Artifact.TYPE, strictImportableProtoSourcesForDependents);
   }
 
   public NestedSet<Artifact> getStrictImportableProtoSourcesForDependents() {
@@ -231,8 +231,8 @@
    * direct-srcs descriptor set)
    */
   @Override
-  public SkylarkNestedSet /*<Artifact>*/ getTransitiveDescriptorSetsForStarlark() {
-    return SkylarkNestedSet.of(Artifact.TYPE, transitiveDescriptorSets);
+  public Depset /*<Artifact>*/ getTransitiveDescriptorSetsForStarlark() {
+    return Depset.of(Artifact.TYPE, transitiveDescriptorSets);
   }
 
   public NestedSet<Artifact> getTransitiveDescriptorSets() {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
index 7f641ce..d275f2b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
@@ -23,10 +23,10 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.Info;
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.Depset.TypeException;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet.TypeException;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.Objects;
@@ -44,7 +44,7 @@
    * order.
    */
   private static boolean depsetHasTypeAndCompatibleOrder(
-      SkylarkNestedSet depset, SkylarkType type, Order order) {
+      Depset depset, SkylarkType type, Order order) {
     // Work around #7266 by special-casing the empty set in the type check.
     boolean typeOk = depset.isEmpty() || depset.getContentType().equals(type);
     boolean orderOk = depset.getOrder().isCompatible(order);
@@ -58,26 +58,26 @@
    */
   private static String describeType(Object value) {
     String typeName = EvalUtils.getDataTypeName(value, /*fullDetails=*/ true);
-    if (value instanceof SkylarkNestedSet) {
-      return ((SkylarkNestedSet) value).getOrder().getSkylarkName() + "-ordered " + typeName;
+    if (value instanceof Depset) {
+      return ((Depset) value).getOrder().getSkylarkName() + "-ordered " + typeName;
     } else {
       return typeName;
     }
   }
 
   // Verified on initialization to contain Artifact.
-  private final SkylarkNestedSet transitiveSources;
+  private final Depset transitiveSources;
   private final boolean usesSharedLibraries;
   // Verified on initialization to contain String.
-  private final SkylarkNestedSet imports;
+  private final Depset imports;
   private final boolean hasPy2OnlySources;
   private final boolean hasPy3OnlySources;
 
   private PyInfo(
       @Nullable Location location,
-      SkylarkNestedSet transitiveSources,
+      Depset transitiveSources,
       boolean usesSharedLibraries,
-      SkylarkNestedSet imports,
+      Depset imports,
       boolean hasPy2OnlySources,
       boolean hasPy3OnlySources) {
     super(PROVIDER, location);
@@ -122,7 +122,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getTransitiveSources() {
+  public Depset getTransitiveSources() {
     return transitiveSources;
   }
 
@@ -141,7 +141,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getImports() {
+  public Depset getImports() {
     return imports;
   }
 
@@ -174,17 +174,17 @@
 
     @Override
     public PyInfo constructor(
-        SkylarkNestedSet transitiveSources,
+        Depset transitiveSources,
         boolean usesSharedLibraries,
         Object importsUncast,
         boolean hasPy2OnlySources,
         boolean hasPy3OnlySources,
         Location loc)
         throws EvalException {
-      SkylarkNestedSet imports =
+      Depset imports =
           importsUncast.equals(Starlark.UNBOUND)
-              ? SkylarkNestedSet.of(String.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER))
-              : (SkylarkNestedSet) importsUncast;
+              ? Depset.of(String.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER))
+              : (Depset) importsUncast;
 
       if (!depsetHasTypeAndCompatibleOrder(transitiveSources, Artifact.TYPE, Order.COMPILE_ORDER)) {
         throw new EvalException(
@@ -265,9 +265,9 @@
       Preconditions.checkNotNull(transitiveSources);
       return new PyInfo(
           location,
-          SkylarkNestedSet.of(Artifact.class, transitiveSources),
+          Depset.of(Artifact.class, transitiveSources),
           usesSharedLibraries,
-          SkylarkNestedSet.of(String.class, imports),
+          Depset.of(String.class, imports),
           hasPy2OnlySources,
           hasPy3OnlySources);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
index a07da75..29e33c5 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
@@ -25,9 +25,9 @@
 import com.google.devtools.build.lib.packages.BuiltinProvider;
 import com.google.devtools.build.lib.packages.Info;
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyRuntimeInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.Depset.TypeException;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet.TypeException;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.Objects;
 import javax.annotation.Nullable;
@@ -53,7 +53,7 @@
   @Nullable private final PathFragment interpreterPath;
   @Nullable private final Artifact interpreter;
   // Validated on initalization to contain Artifact
-  @Nullable private final SkylarkNestedSet files;
+  @Nullable private final Depset files;
   /** Invariant: either PY2 or PY3. */
   private final PythonVersion pythonVersion;
 
@@ -61,7 +61,7 @@
       @Nullable Location location,
       @Nullable PathFragment interpreterPath,
       @Nullable Artifact interpreter,
-      @Nullable SkylarkNestedSet files,
+      @Nullable Depset files,
       PythonVersion pythonVersion) {
     super(PROVIDER, location);
     Preconditions.checkArgument((interpreterPath == null) != (interpreter == null));
@@ -80,7 +80,7 @@
         /*location=*/ null,
         /*interpreterPath=*/ null,
         interpreter,
-        SkylarkNestedSet.of(Artifact.class, files),
+        Depset.of(Artifact.class, files),
         pythonVersion);
   }
 
@@ -153,7 +153,7 @@
 
   @Override
   @Nullable
-  public SkylarkNestedSet getFilesForStarlark() {
+  public Depset getFilesForStarlark() {
     return files;
   }
 
@@ -185,9 +185,9 @@
       String interpreterPath =
           interpreterPathUncast == NONE ? null : (String) interpreterPathUncast;
       Artifact interpreter = interpreterUncast == NONE ? null : (Artifact) interpreterUncast;
-      SkylarkNestedSet filesDepset = null;
+      Depset filesDepset = null;
       if (filesUncast != NONE) {
-        filesDepset = (SkylarkNestedSet) filesUncast;
+        filesDepset = (Depset) filesUncast;
         // Validate type of filesDepset.
         filesDepset.getSetFromParam(Artifact.class, "files");
       }
@@ -211,8 +211,7 @@
 
       if (isInBuildRuntime) {
         if (filesDepset == null) {
-          filesDepset =
-              SkylarkNestedSet.of(Artifact.class, NestedSetBuilder.emptySet(Order.STABLE_ORDER));
+          filesDepset = Depset.of(Artifact.class, NestedSetBuilder.emptySet(Order.STABLE_ORDER));
         }
         return new PyRuntimeInfo(
             loc, /*interpreterPath=*/ null, interpreter, filesDepset, parsedPythonVersion);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyStructUtils.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyStructUtils.java
index deba1b0..59d6ef4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyStructUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyStructUtils.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.collect.nestedset.Order;
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.StructProvider;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 
 /** Static helper class for creating and accessing instances of the legacy "py" struct provider. */
@@ -75,8 +75,7 @@
     // TRANSITIVE_SOURCES is mandatory
     builder.put(USES_SHARED_LIBRARIES, false);
     builder.put(
-        IMPORTS,
-        SkylarkNestedSet.of(String.class, NestedSetBuilder.<String>emptySet(Order.COMPILE_ORDER)));
+        IMPORTS, Depset.of(String.class, NestedSetBuilder.<String>emptySet(Order.COMPILE_ORDER)));
     builder.put(HAS_PY2_ONLY_SOURCES, false);
     builder.put(HAS_PY3_ONLY_SOURCES, false);
     DEFAULTS = builder.build();
@@ -101,10 +100,10 @@
    */
   public static NestedSet<Artifact> getTransitiveSources(StructImpl info) throws EvalException {
     Object fieldValue = getValue(info, TRANSITIVE_SOURCES);
-    SkylarkNestedSet castValue =
+    Depset castValue =
         SkylarkType.cast(
             fieldValue,
-            SkylarkNestedSet.class,
+            Depset.class,
             Artifact.class,
             null,
             "'%s' provider's '%s' field should be a depset of Files (got a '%s')",
@@ -122,7 +121,7 @@
                 unwrappedValue.getOrder().getSkylarkName()));
       }
       return unwrappedValue;
-    } catch (SkylarkNestedSet.TypeException exception) {
+    } catch (Depset.TypeException exception) {
       throw new EvalException(
           null,
           String.format(
@@ -156,10 +155,10 @@
    */
   public static NestedSet<String> getImports(StructImpl info) throws EvalException {
     Object fieldValue = getValue(info, IMPORTS);
-    SkylarkNestedSet castValue =
+    Depset castValue =
         SkylarkType.cast(
             fieldValue,
-            SkylarkNestedSet.class,
+            Depset.class,
             String.class,
             null,
             "'%s' provider's '%s' field should be a depset of strings (got a '%s')",
@@ -168,7 +167,7 @@
             EvalUtils.getDataTypeNameFromClass(fieldValue.getClass()));
     try {
       return castValue.getSet(String.class);
-    } catch (SkylarkNestedSet.TypeException exception) {
+    } catch (Depset.TypeException exception) {
       throw new EvalException(
           null,
           String.format(
@@ -218,9 +217,9 @@
 
   /** Builder for a legacy py provider struct. */
   public static class Builder {
-    SkylarkNestedSet transitiveSources = null;
+    Depset transitiveSources = null;
     Boolean usesSharedLibraries = null;
-    SkylarkNestedSet imports = null;
+    Depset imports = null;
     Boolean hasPy2OnlySources = null;
     Boolean hasPy3OnlySources = null;
 
@@ -228,7 +227,7 @@
     private Builder() {}
 
     public Builder setTransitiveSources(NestedSet<Artifact> transitiveSources) {
-      this.transitiveSources = SkylarkNestedSet.of(Artifact.class, transitiveSources);
+      this.transitiveSources = Depset.of(Artifact.class, transitiveSources);
       return this;
     }
 
@@ -238,7 +237,7 @@
     }
 
     public Builder setImports(NestedSet<String> imports) {
-      this.imports = SkylarkNestedSet.of(String.class, imports);
+      this.imports = Depset.of(String.class, imports);
       return this;
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ActionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ActionApi.java
index 5377e83..6fd22c3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ActionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ActionApi.java
@@ -18,10 +18,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import java.io.IOException;
 
@@ -50,16 +50,16 @@
   public abstract String getMnemonic();
 
   @SkylarkCallable(
-    name = "inputs",
-    doc = "A set of the input files of this action.",
-    structField = true)
-  public SkylarkNestedSet getSkylarkInputs();
+      name = "inputs",
+      doc = "A set of the input files of this action.",
+      structField = true)
+  public Depset getSkylarkInputs();
 
   @SkylarkCallable(
-    name = "outputs",
-    doc = "A set of the output files of this action.",
-    structField = true)
-  public SkylarkNestedSet getSkylarkOutputs();
+      name = "outputs",
+      doc = "A set of the output files of this action.",
+      structField = true)
+  public Depset getSkylarkOutputs();
 
   @SkylarkCallable(
       name = "argv",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/CommandLineArgsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/CommandLineArgsApi.java
index d0fff70..18f3a29 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/CommandLineArgsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/CommandLineArgsApi.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.BaseFunction;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Command line args module. */
 @SkylarkModule(
@@ -248,7 +248,7 @@
             name = "values",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             defaultValue = "unbound",
             doc = "The list, tuple, or depset whose items will be appended."),
@@ -398,7 +398,7 @@
             name = "values",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             defaultValue = "unbound",
             doc = "The list, tuple, or depset whose items will be joined."),
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/DefaultInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/DefaultInfoApi.java
index b4a3c25..1521e65 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/DefaultInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/DefaultInfoApi.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** A provider that gives general information about a target's direct and transitive files. */
 @SkylarkModule(
@@ -43,14 +43,14 @@
 
   @SkylarkCallable(
       name = "files",
-      doc =  "A <a href='depset.html'><code>depset</code></a> of "
-          + "<a href='File.html'><code>File</code></a> objects representing the default "
-          + "outputs to build when this target is specified on the blaze command line. By "
-          + "default it is all predeclared outputs.",
+      doc =
+          "A <a href='depset.html'><code>depset</code></a> of "
+              + "<a href='File.html'><code>File</code></a> objects representing the default "
+              + "outputs to build when this target is specified on the blaze command line. By "
+              + "default it is all predeclared outputs.",
       structField = true,
-      allowReturnNones = true
-  )
-  SkylarkNestedSet getFiles();
+      allowReturnNones = true)
+  Depset getFiles();
 
   @SkylarkCallable(
       name = "files_to_run",
@@ -88,70 +88,70 @@
       FileT extends FileApi> extends ProviderApi {
 
     @SkylarkCallable(
-      name = "DefaultInfo",
-      doc = "<p>The <code>DefaultInfo</code> constructor.",
-      parameters = {
-        @Param(
-          name = "files",
-          type = SkylarkNestedSet.class,
-          named = true,
-          positional = false,
-          defaultValue = "None",
-          noneable = true,
-          doc = "A <a href='depset.html'><code>depset</code></a> of "
-              + "<a href='File.html'><code>File</code></a> objects representing the default "
-              + "outputs to build when this target is specified on the blaze command line. By "
-              + "default it is all predeclared outputs."
-        ),
-        @Param(
-            name = "runfiles",
-            type = RunfilesApi.class,
-            named = true,
-            positional = false,
-            defaultValue = "None",
-            noneable = true,
-            doc = "set of files acting as both the "
-                + "<code>data_runfiles</code> and <code>default_runfiles</code>."
-        ),
-        @Param(
-            name = "data_runfiles",
-            type = RunfilesApi.class,
-            named = true,
-            positional = false,
-            defaultValue = "None",
-            noneable = true,
-            doc = "the files that are added to the runfiles of a "
-                + "target that depend on the rule via the <code>data</code> attribute."
-        ),
-        @Param(
-            name = "default_runfiles",
-            type = RunfilesApi.class,
-            named = true,
-            positional = false,
-            defaultValue = "None",
-            noneable = true,
-            doc = "the files that are added to the runfiles of "
-                + "a target that depend on the rule via anything but the <code>data</code> "
-                + "attribute."
-        ),
-        @Param(
-          name = "executable",
-          type = FileApi.class,
-          named = true,
-          positional = false,
-          defaultValue = "None",
-          noneable = true,
-          doc = "If this rule is marked "
-              + "<a href='globals.html#rule.executable'><code>executable</code></a> or "
-              + "<a href='globals.html#rule.test'><code>test</code></a>, this is a "
-              + "<a href='File.html'><code>File</code></a> object representing the file that "
-              + "should be executed to run the target. By default it is the predeclared output "
-              + "<code>ctx.outputs.executable</code>."
-        )},
-      useLocation = true,
-      selfCall = true)
-    @SkylarkConstructor(objectType = DefaultInfoApi.class,
-        receiverNameForDoc = "DefaultInfo")
+        name = "DefaultInfo",
+        doc = "<p>The <code>DefaultInfo</code> constructor.",
+        parameters = {
+          @Param(
+              name = "files",
+              type = Depset.class,
+              named = true,
+              positional = false,
+              defaultValue = "None",
+              noneable = true,
+              doc =
+                  "A <a href='depset.html'><code>depset</code></a> of <a"
+                      + " href='File.html'><code>File</code></a> objects representing the default"
+                      + " outputs to build when this target is specified on the blaze command"
+                      + " line. By default it is all predeclared outputs."),
+          @Param(
+              name = "runfiles",
+              type = RunfilesApi.class,
+              named = true,
+              positional = false,
+              defaultValue = "None",
+              noneable = true,
+              doc =
+                  "set of files acting as both the "
+                      + "<code>data_runfiles</code> and <code>default_runfiles</code>."),
+          @Param(
+              name = "data_runfiles",
+              type = RunfilesApi.class,
+              named = true,
+              positional = false,
+              defaultValue = "None",
+              noneable = true,
+              doc =
+                  "the files that are added to the runfiles of a "
+                      + "target that depend on the rule via the <code>data</code> attribute."),
+          @Param(
+              name = "default_runfiles",
+              type = RunfilesApi.class,
+              named = true,
+              positional = false,
+              defaultValue = "None",
+              noneable = true,
+              doc =
+                  "the files that are added to the runfiles of "
+                      + "a target that depend on the rule via anything but the <code>data</code> "
+                      + "attribute."),
+          @Param(
+              name = "executable",
+              type = FileApi.class,
+              named = true,
+              positional = false,
+              defaultValue = "None",
+              noneable = true,
+              doc =
+                  "If this rule is marked <a"
+                      + " href='globals.html#rule.executable'><code>executable</code></a> or <a"
+                      + " href='globals.html#rule.test'><code>test</code></a>, this is a <a"
+                      + " href='File.html'><code>File</code></a> object representing the file that"
+                      + " should be executed to run the target. By default it is the predeclared"
+                      + " output <code>ctx.outputs.executable</code>.")
+        },
+        useLocation = true,
+        selfCall = true)
+    @SkylarkConstructor(objectType = DefaultInfoApi.class, receiverNameForDoc = "DefaultInfo")
     public DefaultInfoApi constructor(
         // TODO(cparsons): Use stricter types when Runfiles.NONE is passed as null.
         Object files,
@@ -159,6 +159,7 @@
         Object dataRunfiles,
         Object defaultRunfiles,
         Object executable,
-        Location loc) throws EvalException;
+        Location loc)
+        throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileProviderApi.java
index e4c2700..03a7b55 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileProviderApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** A representation of the concept "this builds these files". */
 @SkylarkModule(
@@ -43,5 +43,5 @@
    * implicit targets, for example, deploy jars.
    */
   @SkylarkCallable(name = "files_to_build", documented = false, structField = true)
-  SkylarkNestedSet /*<? extends FileApi>*/ getFilesToBuildForStarlark();
+  Depset /*<? extends FileApi>*/ getFilesToBuildForStarlark();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
index 3e61b2a..77b98f2 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** Info object propagating information about protocol buffer sources. */
 @SkylarkModule(
@@ -43,7 +43,7 @@
       name = "transitive_imports",
       doc = "Transitive imports including weak dependencies.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveImports();
+  public Depset /*<FileT>*/ getTransitiveImports();
 
   @SkylarkCallable(
       name = "transitive_sources",
@@ -52,7 +52,7 @@
   // TODO(bazel-team): The difference between transitive imports and transitive proto sources
   // should never be used by Skylark or by an Aspect. One of these two should be removed,
   // preferably soon, before Skylark users start depending on them.
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveProtoSourcesForStarlark();
+  public Depset /*<FileT>*/ getTransitiveProtoSourcesForStarlark();
 
   @SkylarkCallable(
       name = "direct_sources",
@@ -67,7 +67,7 @@
               + "that has no sources, it contains the check_deps_sources "
               + "from this library's direct deps.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getStrictImportableProtoSourcesForDependentsForStarlark();
+  public Depset /*<FileT>*/ getStrictImportableProtoSourcesForDependentsForStarlark();
 
   @SkylarkCallable(
       name = "direct_descriptor_set",
@@ -87,13 +87,13 @@
               + " as passing --include_imports to proto-compiler. Will be empty if no"
               + " dependencies.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveDescriptorSetsForStarlark();
+  public Depset /*<FileT>*/ getTransitiveDescriptorSetsForStarlark();
 
   @SkylarkCallable(
       name = "transitive_proto_path",
       doc = "A set of proto source roots collected from the transitive closure of this rule.",
       structField = true)
-  public SkylarkNestedSet /*<String>*/ getTransitiveProtoSourceRootsForStarlark();
+  public Depset /*<String>*/ getTransitiveProtoSourceRootsForStarlark();
 
   @SkylarkCallable(
       name = "proto_source_root",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/RunfilesApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/RunfilesApi.java
index c41e2b0..b058d95 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/RunfilesApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/RunfilesApi.java
@@ -19,7 +19,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** An interface for a set of runfiles. */
 @SkylarkModule(
@@ -36,22 +36,22 @@
       name = "files",
       doc = "Returns the set of runfiles as files.",
       structField = true)
-  public SkylarkNestedSet /*<? extends FileApi>*/ getArtifactsForStarlark();
+  public Depset /*<? extends FileApi>*/ getArtifactsForStarlark();
 
   @SkylarkCallable(name = "symlinks", doc = "Returns the set of symlinks.", structField = true)
-  public SkylarkNestedSet /*<? extends SymlinkEntryApi>*/ getSymlinksForStarlark();
+  public Depset /*<? extends SymlinkEntryApi>*/ getSymlinksForStarlark();
 
   @SkylarkCallable(
       name = "root_symlinks",
       doc = "Returns the set of root symlinks.",
       structField = true)
-  public SkylarkNestedSet /*<? extends SymlinkEntryApi>*/ getRootSymlinksForStarlark();
+  public Depset /*<? extends SymlinkEntryApi>*/ getRootSymlinksForStarlark();
 
   @SkylarkCallable(
       name = "empty_filenames",
       doc = "Returns names of empty files to create.",
       structField = true)
-  public SkylarkNestedSet /*<String>*/ getEmptyFilenamesForStarlark();
+  public Depset /*<String>*/ getEmptyFilenamesForStarlark();
 
   @SkylarkCallable(
     name = "merge",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkActionFactoryApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkActionFactoryApi.java
index d1f3ee7..0994314 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkActionFactoryApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkActionFactoryApi.java
@@ -21,10 +21,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
@@ -151,7 +151,7 @@
             name = "inputs",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             named = true,
@@ -228,7 +228,7 @@
             name = "inputs",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             defaultValue = "[]",
@@ -267,7 +267,7 @@
             name = "tools",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             defaultValue = "unbound",
             named = true,
@@ -382,7 +382,7 @@
             name = "inputs",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             defaultValue = "[]",
@@ -393,7 +393,7 @@
             name = "tools",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             defaultValue = "unbound",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkCommandLineApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkCommandLineApi.java
index 2d14e41..d86654e 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkCommandLineApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkCommandLineApi.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.skylarkinterface.StarlarkDeprecated;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Interface for a module associated with creating efficient command lines. */
 @SkylarkModule(
@@ -41,9 +41,9 @@
         @Param(name = "separator", type = String.class, doc = "the separator string to join on."),
         @Param(
             name = "files",
-            type = SkylarkNestedSet.class,
+            type = Depset.class,
             generic1 = FileApi.class,
             doc = "the files to concatenate.")
       })
-  public String joinPaths(String separator, SkylarkNestedSet files) throws EvalException;
+  public String joinPaths(String separator, Depset files) throws EvalException;
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
index 4ad79f8..4ec398b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
@@ -24,12 +24,12 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.syntax.Tuple;
@@ -562,7 +562,7 @@
             name = "inputs",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             defaultValue = "[]",
@@ -586,7 +586,7 @@
             name = "tools",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             defaultValue = "unbound",
@@ -778,7 +778,7 @@
             name = "inputs",
             allowedTypes = {
               @ParamType(type = Sequence.class),
-              @ParamType(type = SkylarkNestedSet.class),
+              @ParamType(type = Depset.class),
             },
             generic1 = FileApi.class,
             named = true,
@@ -853,7 +853,7 @@
         // Also, allow empty set for init
         @Param(
             name = "transitive_files",
-            type = SkylarkNestedSet.class,
+            type = Depset.class,
             generic1 = FileApi.class,
             noneable = true,
             defaultValue = "None",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TransitiveInfoCollectionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TransitiveInfoCollectionApi.java
index 967c4f1..7f5adfd 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TransitiveInfoCollectionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TransitiveInfoCollectionApi.java
@@ -19,7 +19,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 
 /** Interface for a build target. */
@@ -43,11 +43,11 @@
 public interface TransitiveInfoCollectionApi extends SkylarkValue {
 
   @SkylarkCallable(
-    name = "output_group",
-    documented = false, //  TODO(dslomov): document.
-    parameters = {
-      @Param(name = "group_name", type = String.class, doc = "Output group name", named = true)
-    },
-    disableWithFlag = FlagIdentifier.INCOMPATIBLE_NO_TARGET_OUTPUT_GROUP)
-  SkylarkNestedSet outputGroup(String group);
+      name = "output_group",
+      documented = false, //  TODO(dslomov): document.
+      parameters = {
+        @Param(name = "group_name", type = String.class, doc = "Output group name", named = true)
+      },
+      disableWithFlag = FlagIdentifier.INCOMPATIBLE_NO_TARGET_OUTPUT_GROUP)
+  Depset outputGroup(String group);
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
index a32a1d1..0bebd64 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /** Provides information about transitive Android assets. */
@@ -61,7 +61,7 @@
   FileApi getValidationResult();
 
   @SkylarkCallable(name = "direct_parsed_assets", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<AssetsT>*/ getDirectParsedAssetsForStarlark();
+  Depset /*<AssetsT>*/ getDirectParsedAssetsForStarlark();
 
   /** Returns the local assets for the target. */
   @SkylarkCallable(
@@ -86,16 +86,16 @@
       structField = true,
       doc = "",
       documented = false)
-  SkylarkNestedSet /*<AssetsT>*/ getTransitiveParsedAssetsForStarlark();
+  Depset /*<AssetsT>*/ getTransitiveParsedAssetsForStarlark();
 
   @SkylarkCallable(name = "assets", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getAssetsForStarlark();
+  Depset /*<FileT>*/ getAssetsForStarlark();
 
   @SkylarkCallable(name = "symbols", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getSymbolsForStarlark();
+  Depset /*<FileT>*/ getSymbolsForStarlark();
 
   @SkylarkCallable(name = "compiled_symbols", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getCompiledSymbolsForStarlark();
+  Depset /*<FileT>*/ getCompiledSymbolsForStarlark();
 
   /** The provider implementing this can construct the AndroidAssetsInfo provider. */
   @SkylarkModule(
@@ -130,35 +130,35 @@
               doc = "A depset of all the parsed assets in the target.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = ParsedAndroidAssetsApi.class),
           @Param(
               name = "transitive_parsed_assets",
               doc = "A depset of all the parsed assets in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = ParsedAndroidAssetsApi.class),
           @Param(
               name = "transitive_assets",
               doc = "A depset of all the assets in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_symbols",
               doc = "A depset of all the symbols in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_compiled_symbols",
               doc = "A depset of all the compiled symbols in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
@@ -166,11 +166,11 @@
     public AndroidAssetsInfoApi<FileT, AssetsT> createInfo(
         Label label,
         Object validationResult,
-        SkylarkNestedSet directParsedAssets,
-        SkylarkNestedSet transitiveParsedAssets,
-        SkylarkNestedSet transitiveAssets,
-        SkylarkNestedSet transitiveSymbols,
-        SkylarkNestedSet transitiveCompiledSymbols)
+        Depset directParsedAssets,
+        Depset transitiveParsedAssets,
+        Depset transitiveAssets,
+        Depset transitiveSymbols,
+        Depset transitiveCompiledSymbols)
         throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdeInfoProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdeInfoProviderApi.java
index 25513c0..3ab70c0 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdeInfoProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdeInfoProviderApi.java
@@ -23,10 +23,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /**
@@ -169,7 +169,7 @@
 
   /** A map, keyed on architecture, of the native libs for the app, if any. */
   @SkylarkCallable(name = "native_libs", structField = true, doc = "", documented = false)
-  ImmutableMap<String, SkylarkNestedSet> getNativeLibsSkylark();
+  ImmutableMap<String, Depset> getNativeLibsSkylark();
 
   /** The provider implementing this can construct the AndroidIdeInfo provider. */
   @SkylarkModule(
@@ -310,7 +310,7 @@
         /*noneable*/ Object signedApk,
         /*noneable*/ Object aar,
         Sequence<?> apksUnderTest, // <FileT>
-        Dict<?, ?> nativeLibs /* <String, SkylarkNestedSet> */)
+        Dict<?, ?> nativeLibs /* <String, Depset> */)
         throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
index f1ce426..1314496 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Configured targets implementing this provider can contribute Android IDL information to the
@@ -47,7 +47,7 @@
       structField = true,
       doc = "Returns a depset of strings of all the idl import roots.",
       documented = false)
-  SkylarkNestedSet /*<String>*/ getTransitiveIdlImportRootsForStarlark();
+  Depset /*<String>*/ getTransitiveIdlImportRootsForStarlark();
 
   /** The IDL files in the transitive closure. */
   @SkylarkCallable(
@@ -55,7 +55,7 @@
       structField = true,
       doc = "Returns a depset of artifacts of all the idl imports.",
       documented = false)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveIdlImportsForStarlark();
+  Depset /*<FileT>*/ getTransitiveIdlImportsForStarlark();
 
   /** The IDL jars in the transitive closure, both class and source jars. */
   @SkylarkCallable(
@@ -63,7 +63,7 @@
       structField = true,
       doc = "Returns a depset of artifacts of all the idl class and source jars.",
       documented = false)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveIdlJarsForStarlark();
+  Depset /*<FileT>*/ getTransitiveIdlJarsForStarlark();
 
   /** The preprocessed IDL files in the transitive closure. */
   @SkylarkCallable(
@@ -71,7 +71,7 @@
       structField = true,
       doc = "Returns a depset of artifacts of all the idl preprocessed files.",
       documented = false)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveIdlPreprocessedForStarlark();
+  Depset /*<FileT>*/ getTransitiveIdlPreprocessedForStarlark();
 
   /** The provider implementing this can construct the AndroidIdlInfo provider. */
   @SkylarkModule(
@@ -92,14 +92,14 @@
               doc = "A depset of strings of all the idl import roots in the transitive closure.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = String.class),
           @Param(
               name = "transitive_idl_imports",
               doc = "A depset of artifacts of all the idl imports in the transitive closure.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_idl_jars",
@@ -108,7 +108,7 @@
                       + "transitive closure.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_idl_preprocessed",
@@ -117,16 +117,16 @@
                       + "closure.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
     @SkylarkConstructor(objectType = AndroidIdlProviderApi.class, receiverNameForDoc = NAME)
     AndroidIdlProviderApi<FileT> createInfo(
-        SkylarkNestedSet transitiveIdlImportRoots,
-        SkylarkNestedSet transitiveIdlImports,
-        SkylarkNestedSet transitiveIdlJars,
-        SkylarkNestedSet transitiveIdlPreprocessed)
+        Depset transitiveIdlImportRoots,
+        Depset transitiveIdlImports,
+        Depset transitiveIdlJars,
+        Depset transitiveIdlPreprocessed)
         throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryAarInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryAarInfoApi.java
index 229d9f1..6b6bfdb 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryAarInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryAarInfoApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** A target that can provide the aar artifact of Android libraries */
 @SkylarkModule(
@@ -47,5 +47,5 @@
       doc = "",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveAarArtifactsForStarlark();
+  Depset /*<FileT>*/ getTransitiveAarArtifactsForStarlark();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
index 5041f11..a59ca3f 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Provides resource class jars from android_library rules. */
 @SkylarkModule(
@@ -39,7 +39,7 @@
   String NAME = "AndroidLibraryResourceClassJarProvider";
 
   @SkylarkCallable(name = "jars", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getResourceClassJarsForStarlark();
+  Depset /*<FileT>*/ getResourceClassJarsForStarlark();
 
   /** The provider implementing this can construct the AndroidLibraryResourceClassJarProvider. */
   @SkylarkModule(
@@ -60,14 +60,13 @@
               doc = "Resource class jars.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
     @SkylarkConstructor(
         objectType = AndroidLibraryResourceClassJarProviderApi.class,
         receiverNameForDoc = NAME)
-    AndroidLibraryResourceClassJarProviderApi<FileT> create(SkylarkNestedSet jars)
-        throws EvalException;
+    AndroidLibraryResourceClassJarProviderApi<FileT> create(Depset jars) throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidNativeLibsInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidNativeLibsInfoApi.java
index 4b1b7f7..0afc4e7 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidNativeLibsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidNativeLibsInfoApi.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Provider of transitively available ZIPs of native libs that should be directly copied into the
@@ -45,7 +45,7 @@
       doc = "Returns the native libraries produced by the rule.",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<FileT>*/ getNativeLibsForStarlark();
+  Depset /*<FileT>*/ getNativeLibsForStarlark();
 
   /** Provider for {@link AndroidNativeLibsInfoApi}. */
   @SkylarkModule(
@@ -63,13 +63,13 @@
         parameters = {
           @Param(
               name = "native_libs",
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class,
               named = true,
               doc = "The native libraries produced by the rule."),
         },
         selfCall = true)
     @SkylarkConstructor(objectType = AndroidNativeLibsInfoApi.class)
-    public AndroidNativeLibsInfoApi<?> createInfo(SkylarkNestedSet nativeLibs) throws EvalException;
+    public AndroidNativeLibsInfoApi<?> createInfo(Depset nativeLibs) throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
index 2ac36ba..83df85b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
@@ -22,8 +22,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** A provider that supplies resource information from its transitive closure. */
 @SkylarkModule(
@@ -73,7 +73,7 @@
       doc = "Returns the transitive ResourceContainers for the label.",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<ValidatedAndroidDataT>*/ getTransitiveAndroidResourcesForStarlark();
+  Depset /*<ValidatedAndroidDataT>*/ getTransitiveAndroidResourcesForStarlark();
 
   /** Returns the immediate ResourceContainers for the label. */
   @SkylarkCallable(
@@ -81,44 +81,44 @@
       doc = "Returns the immediate ResourceContainers for the label.",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<ValidatedAndroidDataT>*/ getDirectAndroidResourcesForStarlark();
+  Depset /*<ValidatedAndroidDataT>*/ getDirectAndroidResourcesForStarlark();
 
   @SkylarkCallable(name = "transitive_resources", doc = "", documented = false, structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveResourcesForStarlark();
+  Depset /*<FileT>*/ getTransitiveResourcesForStarlark();
 
   @SkylarkCallable(name = "transitive_manifests", doc = "", documented = false, structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveManifestsForStarlark();
+  Depset /*<FileT>*/ getTransitiveManifestsForStarlark();
 
   @SkylarkCallable(
       name = "transitive_aapt2_r_txt",
       doc = "",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveAapt2RTxtForStarlark();
+  Depset /*<FileT>*/ getTransitiveAapt2RTxtForStarlark();
 
   // TODO(b/132383435): remove this
   @SkylarkCallable(name = "validation_artifacts", doc = "", documented = false, structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveAapt2ValidationArtifactsForStarlark();
+  Depset /*<FileT>*/ getTransitiveAapt2ValidationArtifactsForStarlark();
 
   @SkylarkCallable(
       name = "transitive_symbols_bin",
       doc = "",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveSymbolsBinForStarlark();
+  Depset /*<FileT>*/ getTransitiveSymbolsBinForStarlark();
 
   @SkylarkCallable(
       name = "transitive_compiled_symbols",
       doc = "",
       documented = false,
       structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveCompiledSymbolsForStarlark();
+  Depset /*<FileT>*/ getTransitiveCompiledSymbolsForStarlark();
 
   @SkylarkCallable(name = "transitive_static_lib", doc = "", documented = false, structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveStaticLibForStarlark();
+  Depset /*<FileT>*/ getTransitiveStaticLibForStarlark();
 
   @SkylarkCallable(name = "transitive_r_txt", doc = "", documented = false, structField = true)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveRTxtForStarlark();
+  Depset /*<FileT>*/ getTransitiveRTxtForStarlark();
 
   /** Provider for {@link AndroidResourcesInfoApi}. */
   @SkylarkModule(
@@ -157,42 +157,42 @@
                       + "closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = ValidatedAndroidDataApi.class),
           @Param(
               name = "direct_android_resources",
               doc = "A depset of ValidatedAndroidData of Android Resources for the target.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = ValidatedAndroidDataApi.class),
           @Param(
               name = "transitive_resources",
               doc = "A depset of Artifacts of Android Resource files in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_manifests",
               doc = "A depset of Artifacts of Android Manifests in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_aapt2_r_txt",
               doc = "A depset of Artifacts of Android AAPT2 R.txt files in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_symbols_bin",
               doc = "A depset of Artifacts of Android symbols files in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_compiled_symbols",
@@ -201,21 +201,21 @@
                       + "closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_static_lib",
               doc = "A depset of Artifacts of static lib files in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           @Param(
               name = "transitive_r_txt",
               doc = "A depset of Artifacts of Android AAPT R.txt files in the transitive closure.",
               positional = true,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
           // TODO(b/132383435): remove this
           @Param(
@@ -224,7 +224,7 @@
               doc = "A depset of opaque files to trigger resource validation.",
               positional = false,
               named = true,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
@@ -233,15 +233,15 @@
         Label label,
         AndroidManifestInfoT manifest,
         FileT rTxt,
-        SkylarkNestedSet transitiveAndroidResources,
-        SkylarkNestedSet directAndroidResources,
-        SkylarkNestedSet transitiveResources,
-        SkylarkNestedSet transitiveManifests,
-        SkylarkNestedSet transitiveAapt2RTxt,
-        SkylarkNestedSet transitiveSymbolsBin,
-        SkylarkNestedSet transitiveCompiledSymbols,
-        SkylarkNestedSet transitiveStaticLib,
-        SkylarkNestedSet transitiveRTxt,
+        Depset transitiveAndroidResources,
+        Depset directAndroidResources,
+        Depset transitiveResources,
+        Depset transitiveManifests,
+        Depset transitiveAapt2RTxt,
+        Depset transitiveSymbolsBin,
+        Depset transitiveCompiledSymbols,
+        Depset transitiveStaticLib,
+        Depset transitiveRTxt,
         Object transitiveAapt2ValidationArtifacts)
         throws EvalException;
   }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkApiProviderApi.java
index 90969a0..b991fde 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkApiProviderApi.java
@@ -21,7 +21,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import javax.annotation.Nullable;
 
 /**
@@ -85,7 +85,7 @@
               + "to a set of the native library files, or the empty dictionary if there are no "
               + "native libraries.",
       documented = false)
-  ImmutableMap<String, SkylarkNestedSet> getNativeLibs();
+  ImmutableMap<String, Depset> getNativeLibs();
 
   @SkylarkCallable(
       name = "resource_apk",
@@ -124,7 +124,7 @@
       structField = true,
       doc = "Returns resources defined by this target.",
       documented = false)
-  SkylarkNestedSet /*<FileT>*/ getResources();
+  Depset /*<FileT>*/ getResources();
 
   @SkylarkCallable(
       name = "resource_jar",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/DataBindingV2ProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/DataBindingV2ProviderApi.java
index aee7c21..44c7e61 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/DataBindingV2ProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/DataBindingV2ProviderApi.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /**
@@ -92,7 +92,7 @@
 
   /** Returns the BR files from this rule and its dependencies. */
   @SkylarkCallable(name = "transitive_br_files", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<T>*/ getTransitiveBRFilesForStarlark();
+  Depset /*<T>*/ getTransitiveBRFilesForStarlark();
 
   /**
    * Returns a NestedSet containing the label and java package for this rule and its transitive
@@ -103,7 +103,7 @@
       structField = true,
       doc = "",
       documented = false)
-  SkylarkNestedSet /*<LabelJavaPackagePair>*/ getTransitiveLabelAndJavaPackagesForStarlark();
+  Depset /*<LabelJavaPackagePair>*/ getTransitiveLabelAndJavaPackagesForStarlark();
 
   /**
    * Returns the label and java package for this rule and any rules that this rule exports.
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java
index 57d0867..a4fb1d8 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java
@@ -26,10 +26,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
 /** Interface for a module with useful functions for creating apple-related rule implementations. */
@@ -319,7 +319,7 @@
                     + "dependencies linked into the binary."),
         @Param(
             name = "framework_dirs",
-            type = SkylarkNestedSet.class,
+            type = Depset.class,
             generic1 = String.class,
             named = true,
             noneable = true,
@@ -330,7 +330,7 @@
                     + "framework."),
         @Param(
             name = "framework_files",
-            type = SkylarkNestedSet.class,
+            type = Depset.class,
             generic1 = FileApi.class,
             named = true,
             noneable = true,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleDynamicFrameworkInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleDynamicFrameworkInfoApi.java
index a244812..8d2a8c9 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleDynamicFrameworkInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleDynamicFrameworkInfoApi.java
@@ -19,7 +19,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import javax.annotation.Nullable;
 
 /**
@@ -41,7 +41,7 @@
       doc =
           "The framework path names used as link inputs in order to link against the dynamic "
               + "framework.")
-  public SkylarkNestedSet /*<String>*/ getDynamicFrameworkDirs();
+  public Depset /*<String>*/ getDynamicFrameworkDirs();
 
   /**
    * Returns the full set of artifacts that should be included as inputs to link against the dynamic
@@ -53,7 +53,7 @@
       doc =
           "The full set of files that should be included as inputs to link against the "
               + "dynamic framework.")
-  public SkylarkNestedSet /*<FileApiT>*/ getDynamicFrameworkFiles();
+  public Depset /*<FileApiT>*/ getDynamicFrameworkFiles();
 
   /**
    * Returns the multi-architecture dylib binary of the dynamic framework. May return null if
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcProviderApi.java
index 308d022..64693b3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcProviderApi.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * An interface for an info type that provides all compiling and linking information in the
@@ -39,7 +39,7 @@
       doc =
           "A set of strings from 'defines' attributes. These are to be passed as '-D' flags to "
               + "all invocations of the compiler for this target and all depending targets.")
-  public SkylarkNestedSet /*<String>*/ defineForStarlark();
+  public Depset /*<String>*/ defineForStarlark();
 
   @SkylarkCallable(
       name = "dynamic_framework_file",
@@ -47,13 +47,13 @@
       doc =
           "The library files in .framework directories belonging to a dynamically linked "
               + "framework.")
-  public SkylarkNestedSet /*<FileApiT>*/ dynamicFrameworkFileForStarlark();
+  public Depset /*<FileApiT>*/ dynamicFrameworkFileForStarlark();
 
   @SkylarkCallable(
       name = "exported_debug_artifacts",
       structField = true,
       doc = "Debug files that should be exported by the top-level target.")
-  public SkylarkNestedSet /*<FileApiT>*/ exportedDebugArtifacts();
+  public Depset /*<FileApiT>*/ exportedDebugArtifacts();
 
   @SkylarkCallable(
       name = "framework_search_path_only",
@@ -61,19 +61,19 @@
       doc =
           "Exec paths of .framework directories corresponding to frameworks to include "
               + "in search paths, but not to link.")
-  public SkylarkNestedSet /*<String>*/ frameworkSearchPathOnly();
+  public Depset /*<String>*/ frameworkSearchPathOnly();
 
   @SkylarkCallable(
       name = "force_load_library",
       structField = true,
       doc = "Libraries to load with -force_load.")
-  public SkylarkNestedSet /*<FileApiT>*/ forceLoadLibrary();
+  public Depset /*<FileApiT>*/ forceLoadLibrary();
 
   @SkylarkCallable(
       name = "header",
       structField = true,
       doc = "All header files. These may be either public or private headers.")
-  public SkylarkNestedSet /*<FileApiT>*/ headerForStarlark();
+  public Depset /*<FileApiT>*/ headerForStarlark();
 
   @SkylarkCallable(
       name = "direct_headers",
@@ -87,44 +87,45 @@
       name = "imported_library",
       structField = true,
       doc = "Imported precompiled static libraries (.a files) to be linked into the binary.")
-  public SkylarkNestedSet /*<FileApiT>*/ importedLibrary();
+  public Depset /*<FileApiT>*/ importedLibrary();
 
-  @SkylarkCallable(name = "include",
+  @SkylarkCallable(
+      name = "include",
       structField = true,
-      doc = "Include search paths specified with '-I' on the command line. Also known as "
-          + "header search paths (and distinct from <em>user</em> header search paths)."
-  )
-  public SkylarkNestedSet include();
+      doc =
+          "Include search paths specified with '-I' on the command line. Also known as "
+              + "header search paths (and distinct from <em>user</em> header search paths).")
+  public Depset include();
 
-  @SkylarkCallable(name = "include_system",
+  @SkylarkCallable(
+      name = "include_system",
       structField = true,
-      doc = "System include search paths (typically specified with -isystem)."
-  )
-  public SkylarkNestedSet includeSystem();
+      doc = "System include search paths (typically specified with -isystem).")
+  public Depset includeSystem();
 
-  @SkylarkCallable(name = "iquote",
+  @SkylarkCallable(
+      name = "iquote",
       structField = true,
-      doc = "User header search paths (typically specified with -iquote)."
-  )
-  public SkylarkNestedSet iquote();
+      doc = "User header search paths (typically specified with -iquote).")
+  public Depset iquote();
 
   @SkylarkCallable(
       name = "j2objc_library",
       structField = true,
       doc = "Static libraries that are built from J2ObjC-translated Java code.")
-  public SkylarkNestedSet /*<FileApiT>*/ j2objcLibrary();
+  public Depset /*<FileApiT>*/ j2objcLibrary();
 
   @SkylarkCallable(
       name = "jre_library",
       structField = true,
       doc = "J2ObjC JRE emulation libraries and their dependencies.")
-  public SkylarkNestedSet /*<FileApiT>*/ jreLibrary();
+  public Depset /*<FileApiT>*/ jreLibrary();
 
   @SkylarkCallable(
       name = "library",
       structField = true,
       doc = "Library (.a) files compiled by dependencies of the current target.")
-  public SkylarkNestedSet /*<FileApiT>*/ library();
+  public Depset /*<FileApiT>*/ library();
 
   @SkylarkCallable(
       name = "link_inputs",
@@ -134,7 +135,7 @@
               + " libraries or archives. This catch-all provides a way to add arbitrary data (e.g."
               + " Swift AST files) to the linker. The rule that adds these is also responsible to"
               + " add the necessary linker flags to 'linkopt'.")
-  public SkylarkNestedSet /*<FileApiT>*/ linkInputs();
+  public Depset /*<FileApiT>*/ linkInputs();
 
   @SkylarkCallable(
       name = "linked_binary",
@@ -142,16 +143,16 @@
       doc =
           "Single-architecture linked binaries to be combined for the final multi-architecture "
               + "binary.")
-  public SkylarkNestedSet /*<FileApiT>*/ linkedBinary();
+  public Depset /*<FileApiT>*/ linkedBinary();
 
   @SkylarkCallable(
       name = "linkmap_file",
       structField = true,
       doc = "Single-architecture link map for a binary.")
-  public SkylarkNestedSet /*<FileApiT>*/ linkmapFile();
+  public Depset /*<FileApiT>*/ linkmapFile();
 
   @SkylarkCallable(name = "linkopt", structField = true, doc = "Linking options.")
-  public SkylarkNestedSet /*<String>*/ linkopt();
+  public Depset /*<String>*/ linkopt();
 
   @SkylarkCallable(
       name = "merge_zip",
@@ -160,13 +161,13 @@
           "Merge zips to include in the bundle. The entries of these zip files are included "
               + "in the final bundle with the same path. The entries in the merge zips should not "
               + "include the bundle root path (e.g. 'Foo.app').")
-  public SkylarkNestedSet /*<FileApiT>*/ mergeZip();
+  public Depset /*<FileApiT>*/ mergeZip();
 
   @SkylarkCallable(
       name = "module_map",
       structField = true,
       doc = "Clang module maps, used to enforce proper use of private header files.")
-  public SkylarkNestedSet /*<FileApiT>*/ moduleMap();
+  public Depset /*<FileApiT>*/ moduleMap();
 
   @SkylarkCallable(
       name = "direct_module_maps",
@@ -180,34 +181,34 @@
       name = "multi_arch_dynamic_libraries",
       structField = true,
       doc = "Combined-architecture dynamic libraries to include in the final bundle.")
-  public SkylarkNestedSet /*<FileApiT>*/ multiArchDynamicLibraries();
+  public Depset /*<FileApiT>*/ multiArchDynamicLibraries();
 
   @SkylarkCallable(
       name = "multi_arch_linked_archives",
       structField = true,
       doc = "Combined-architecture archives to include in the final bundle.")
-  public SkylarkNestedSet /*<FileApiT>*/ multiArchLinkedArchives();
+  public Depset /*<FileApiT>*/ multiArchLinkedArchives();
 
   @SkylarkCallable(
       name = "multi_arch_linked_binaries",
       structField = true,
       doc = "Combined-architecture binaries to include in the final bundle.")
-  public SkylarkNestedSet /*<FileApiT>*/ multiArchLinkedBinaries();
+  public Depset /*<FileApiT>*/ multiArchLinkedBinaries();
 
   @SkylarkCallable(
       name = "sdk_dylib",
       structField = true,
       doc = "Names of SDK .dylib libraries to link with. For instance, 'libz' or 'libarchive'.")
-  public SkylarkNestedSet /*<String>*/ sdkDylib();
+  public Depset /*<String>*/ sdkDylib();
 
-  @SkylarkCallable(name = "sdk_framework",
+  @SkylarkCallable(
+      name = "sdk_framework",
       structField = true,
-      doc = "Names of SDK frameworks to link with (e.g. 'AddressBook', 'QuartzCore')."
-  )
-  public SkylarkNestedSet sdkFramework();
+      doc = "Names of SDK frameworks to link with (e.g. 'AddressBook', 'QuartzCore').")
+  public Depset sdkFramework();
 
   @SkylarkCallable(name = "source", structField = true, doc = "All transitive source files.")
-  public SkylarkNestedSet /*<FileApiT>*/ sourceForStarlark();
+  public Depset /*<FileApiT>*/ sourceForStarlark();
 
   @SkylarkCallable(
       name = "direct_sources",
@@ -219,7 +220,7 @@
       name = "static_framework_file",
       structField = true,
       doc = "The library files in .framework directories that should be statically linked.")
-  public SkylarkNestedSet /*<FileApiT>*/ staticFrameworkFileForStarlark();
+  public Depset /*<FileApiT>*/ staticFrameworkFileForStarlark();
 
   @SkylarkCallable(
       name = "umbrella_header",
@@ -227,7 +228,7 @@
       doc =
           "Clang umbrella header. Public headers are #included in umbrella headers to be "
               + "compatible with J2ObjC segmented headers.")
-  public SkylarkNestedSet /*<FileApiT>*/ umbrellaHeader();
+  public Depset /*<FileApiT>*/ umbrellaHeader();
 
   @SkylarkCallable(
       name = "weak_sdk_framework",
@@ -236,29 +237,29 @@
           "Names of SDK frameworks to weakly link with. For instance, 'MediaAccessibility'. "
               + "In difference to regularly linked SDK frameworks, symbols from weakly linked "
               + "frameworks do not cause an error if they are not present at runtime.")
-  public SkylarkNestedSet weakSdkFramework();
+  public Depset weakSdkFramework();
 
   @SkylarkCallable(
       name = "dynamic_framework_names",
       structField = true,
       doc = "Returns all names of dynamic frameworks in this provider.")
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkNamesForStarlark();
+  public Depset /*<String>*/ dynamicFrameworkNamesForStarlark();
 
   @SkylarkCallable(
       name = "dynamic_framework_paths",
       structField = true,
       doc = "Returns all framework paths to dynamic frameworks in this provider.")
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkPathsForStarlark();
+  public Depset /*<String>*/ dynamicFrameworkPathsForStarlark();
 
   @SkylarkCallable(
       name = "static_framework_names",
       structField = true,
       doc = "Returns all names of static frameworks in this provider.")
-  public SkylarkNestedSet /*<String>*/ staticFrameworkNamesForStarlark();
+  public Depset /*<String>*/ staticFrameworkNamesForStarlark();
 
   @SkylarkCallable(
       name = "static_framework_paths",
       structField = true,
       doc = "Returns all framework paths to static frameworks in this provider.")
-  public SkylarkNestedSet /*<String>*/ staticFrameworkPathsForStarlark();
+  public Depset /*<String>*/ staticFrameworkPathsForStarlark();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
index 8aeadb8..dfb166e 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
@@ -22,10 +22,10 @@
 import com.google.devtools.build.lib.skylarkinterface.ParamType;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.syntax.Tuple;
 
@@ -362,10 +362,7 @@
             named = true,
             noneable = true,
             defaultValue = "None",
-            allowedTypes = {
-              @ParamType(type = SkylarkNestedSet.class),
-              @ParamType(type = NoneType.class)
-            }),
+            allowedTypes = {@ParamType(type = Depset.class), @ParamType(type = NoneType.class)}),
         @Param(
             name = "pic_objects",
             doc = "List of pic object files.",
@@ -373,10 +370,7 @@
             named = true,
             noneable = true,
             defaultValue = "None",
-            allowedTypes = {
-              @ParamType(type = SkylarkNestedSet.class),
-              @ParamType(type = NoneType.class)
-            }),
+            allowedTypes = {@ParamType(type = Depset.class), @ParamType(type = NoneType.class)}),
       })
   CompilationOutputsT createCompilationOutputsFromSkylark(
       Object objectsObject, Object picObjectsObject, Location location) throws EvalException;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationContextApi.java
index bda0516..6d0e3ef 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationContextApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /**
  * Interface for a store of information needed for C++ compilation aggregated across dependencies.
@@ -36,7 +36,7 @@
           "Returns the set of defines needed to compile this target. Each define is a string."
               + " These values are propagated to the target's transitive dependencies.",
       structField = true)
-  SkylarkNestedSet getSkylarkDefines();
+  Depset getSkylarkDefines();
 
   @SkylarkCallable(
       name = "local_defines",
@@ -44,13 +44,13 @@
           "Returns the set of defines needed to compile this target. Each define is a string."
               + " These values are not propagated to the target's transitive dependencies.",
       structField = true)
-  SkylarkNestedSet getSkylarkNonTransitiveDefines();
+  Depset getSkylarkNonTransitiveDefines();
 
   @SkylarkCallable(
       name = "headers",
       doc = "Returns the set of headers needed to compile this target.",
       structField = true)
-  SkylarkNestedSet getSkylarkHeaders();
+  Depset getSkylarkHeaders();
 
   @SkylarkCallable(
       name = "system_includes",
@@ -59,7 +59,7 @@
               + " brackets, e.g. #include <foo/bar/header.h>. They can be either relative to the"
               + " exec root or absolute. Usually passed with -isystem.",
       structField = true)
-  SkylarkNestedSet getSkylarkSystemIncludeDirs();
+  Depset getSkylarkSystemIncludeDirs();
 
   @SkylarkCallable(
       name = "framework_includes",
@@ -67,7 +67,7 @@
           "Returns the set of search paths (as strings) for framework header files. Usually passed"
               + " with -F.",
       structField = true)
-  SkylarkNestedSet getSkylarkFrameworkIncludeDirs();
+  Depset getSkylarkFrameworkIncludeDirs();
 
   @SkylarkCallable(
       name = "includes",
@@ -75,7 +75,7 @@
           "Returns the set of search paths (as strings) for header files referenced both by angle"
               + " bracket and quotes. Usually passed with -I.",
       structField = true)
-  SkylarkNestedSet getSkylarkIncludeDirs();
+  Depset getSkylarkIncludeDirs();
 
   @SkylarkCallable(
       name = "quote_includes",
@@ -84,5 +84,5 @@
               + " e.g. #include \"foo/bar/header.h\". They can be either relative to the exec root"
               + " or absolute. Usually passed with -iquote.",
       structField = true)
-  SkylarkNestedSet getSkylarkQuoteIncludeDirs();
+  Depset getSkylarkQuoteIncludeDirs();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingContextApi.java
index 90860fa..8e4904a 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingContextApi.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
@@ -51,12 +51,12 @@
       name = "additional_inputs",
       doc = "Returns the depset of additional inputs, e.g.: linker scripts.",
       structField = true)
-  SkylarkNestedSet getSkylarkNonCodeInputs();
+  Depset getSkylarkNonCodeInputs();
 
   @SkylarkCallable(
       name = "linker_inputs",
       doc = "Returns the depset of linker inputs.",
       enableOnlyWithFlag = FlagIdentifier.EXPERIMENTAL_CC_SHARED_LIBRARY,
       structField = true)
-  SkylarkNestedSet getSkylarkLinkerInputs();
+  Depset getSkylarkLinkerInputs();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
index 1e2ca3a..fcd30f7 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
@@ -25,11 +25,11 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.syntax.Tuple;
@@ -316,10 +316,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "quote_include_directories",
             doc = "Depset of quote include directories.",
@@ -327,10 +324,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "system_include_directories",
             doc = "Depset of system include directories.",
@@ -338,10 +332,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "framework_include_directories",
             doc = "Depset of framework include directories.",
@@ -349,10 +340,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "preprocessor_defines",
             doc = "Depset of preprocessor defines.",
@@ -360,10 +348,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "use_pic",
             doc = "When true the compilation will generate position independent code.",
@@ -416,10 +401,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "runtime_library_search_directories",
             doc = "Depset of directories where loader will look for libraries at runtime.",
@@ -427,10 +409,7 @@
             named = true,
             defaultValue = "None",
             noneable = true,
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "user_link_flags",
             doc = "List of additional link flags (linkopts).",
@@ -621,10 +600,7 @@
             named = true,
             noneable = true,
             defaultValue = "None",
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "user_link_flags",
             doc = "List of user link flags passed as strings.",
@@ -632,10 +608,7 @@
             named = true,
             noneable = true,
             defaultValue = "None",
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "additional_inputs",
             doc = "For additional inputs to the linking action, e.g.: linking scripts.",
@@ -643,10 +616,7 @@
             named = true,
             noneable = true,
             defaultValue = "None",
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
       })
   LinkerInputT createLinkerInput(
       Label owner,
@@ -670,10 +640,7 @@
             named = true,
             enableOnlyWithFlag = FlagIdentifier.EXPERIMENTAL_CC_SHARED_LIBRARY,
             valueWhenDisabled = "None",
-            allowedTypes = {
-              @ParamType(type = NoneType.class),
-              @ParamType(type = SkylarkNestedSet.class)
-            }),
+            allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = Depset.class)}),
         @Param(
             name = "libraries_to_link",
             doc = "List of <code>LibraryToLink</code>.",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcSkylarkApiProviderApi.java
index 13869ef..cd172a1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcSkylarkApiProviderApi.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** Object with information about C++ rules. Every C++-related target should provide this. */
 @SkylarkModule(
@@ -39,7 +39,7 @@
           "Returns a <a href=\"depset.html\">depset</a> of headers that have been declared in the "
               + " <code>src</code> or <code>headers</code> attribute"
               + "(possibly empty but never <code>None</code>).")
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveHeadersForStarlark();
+  public Depset /*<FileT>*/ getTransitiveHeadersForStarlark();
 
   @SkylarkCallable(
       name = "libs",
@@ -49,7 +49,7 @@
               + "<code>FULLY STATIC</code> mode (<code>linkopts=[\"-static\"]</code>) or "
               + "<code>MOSTLY STATIC</code> mode (<code>linkstatic=1</code>) "
               + "(possibly empty but never <code>None</code>)")
-  public SkylarkNestedSet /*<FileT>*/ getLibrariesForStarlark();
+  public Depset /*<FileT>*/ getLibrariesForStarlark();
 
   @SkylarkCallable(
       name = "link_flags",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
index 0dc6513..96e40c8 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /** Information about the C++ toolchain. */
@@ -60,7 +60,7 @@
           "Returns all toolchain files (so they can be passed to actions using this "
               + "toolchain as inputs).",
       structField = true)
-  public SkylarkNestedSet getAllFilesForStarlark();
+  public Depset getAllFilesForStarlark();
 
   @SkylarkCallable(
       name = "static_runtime_lib",
@@ -78,7 +78,7 @@
             named = true,
             type = FeatureConfigurationApi.class)
       })
-  public SkylarkNestedSet getStaticRuntimeLibForStarlark(FeatureConfigurationT featureConfiguration)
+  public Depset getStaticRuntimeLibForStarlark(FeatureConfigurationT featureConfiguration)
       throws EvalException;
 
   @SkylarkCallable(
@@ -97,8 +97,8 @@
             named = true,
             type = FeatureConfigurationApi.class)
       })
-  public SkylarkNestedSet getDynamicRuntimeLibForStarlark(
-      FeatureConfigurationT featureConfiguration) throws EvalException;
+  public Depset getDynamicRuntimeLibForStarlark(FeatureConfigurationT featureConfiguration)
+      throws EvalException;
 
   @SkylarkCallable(
       name = "sysroot",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
index c67f048..b4257a8 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
@@ -26,10 +26,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Tuple;
 
 /**
@@ -213,6 +213,6 @@
             named = true,
             allowedTypes = {@ParamType(type = NoneType.class), @ParamType(type = FileApi.class)}),
       })
-  public SkylarkNestedSet /*<FileT>*/ getGopackageFilesForStarlark(
+  public Depset /*<FileT>*/ getGopackageFilesForStarlark(
       SkylarkRuleContextT skylarkRuleContext, FileT skylarkGopkg);
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java
index 3217d45..73b2157 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java
@@ -21,9 +21,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Helper class for the C++ aspects of {py,java,go}_wrap_cc. Provides methods to create the swig and
@@ -75,8 +75,7 @@
         @Param(name = "py_file", positional = false, named = true, type = FileApi.class),
       })
   // TODO(plf): Not written in Skylark because of PyCommon.
-  public SkylarkNestedSet getTransitivePythonSources(
-      SkylarkRuleContextT skylarkRuleContext, FileT pyFile)
+  public Depset getTransitivePythonSources(SkylarkRuleContextT skylarkRuleContext, FileT pyFile)
       throws EvalException, InterruptedException;
 
   @SkylarkCallable(
@@ -85,15 +84,10 @@
       documented = false,
       parameters = {
         @Param(name = "ctx", positional = false, named = true, type = SkylarkRuleContextApi.class),
-        @Param(
-            name = "files_to_build",
-            positional = false,
-            named = true,
-            type = SkylarkNestedSet.class),
+        @Param(name = "files_to_build", positional = false, named = true, type = Depset.class),
       })
   // TODO(plf): Not written in Skylark because of PythonRunfilesProvider.
-  public RunfilesApi getPythonRunfiles(
-      SkylarkRuleContextT skylarkRuleContext, SkylarkNestedSet filesToBuild)
+  public RunfilesApi getPythonRunfiles(SkylarkRuleContextT skylarkRuleContext, Depset filesToBuild)
       throws EvalException, InterruptedException;
 
   @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
index d01e68b..ebc75ad 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
@@ -22,10 +22,10 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Helper class for the C++ aspects of {py,java,go}_wrap_cc. Provides methods to create the swig and
@@ -67,8 +67,7 @@
       parameters = {
         @Param(name = "ctx", positional = false, named = true, type = SkylarkRuleContextApi.class),
       })
-  public SkylarkNestedSet skylarkCollectTransitiveSwigIncludes(
-      SkylarkRuleContextT skylarkRuleContext);
+  public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextT skylarkRuleContext);
 
   @SkylarkCallable(
       name = "create_compile_actions",
@@ -120,15 +119,11 @@
       documented = false,
       parameters = {
         @Param(name = "ctx", positional = false, named = true, type = SkylarkRuleContextApi.class),
-        @Param(
-            name = "swig_includes",
-            positional = false,
-            named = true,
-            type = SkylarkNestedSet.class),
+        @Param(name = "swig_includes", positional = false, named = true, type = Depset.class),
       })
   // TODO(plf): Not written in Skylark because of PythonRunfilesProvider.
   public WrapCcIncludeProviderT getWrapCcIncludeProvider(
-      SkylarkRuleContextT skylarkRuleContext, SkylarkNestedSet swigIncludes)
+      SkylarkRuleContextT skylarkRuleContext, Depset swigIncludes)
       throws EvalException, InterruptedException;
 
   @SkylarkCallable(
@@ -152,11 +147,7 @@
             positional = false,
             named = true,
             type = CcCompilationContextApi.class),
-        @Param(
-            name = "swig_includes",
-            positional = false,
-            named = true,
-            type = SkylarkNestedSet.class),
+        @Param(name = "swig_includes", positional = false, named = true, type = Depset.class),
         @Param(name = "swig_source", positional = false, named = true, type = FileApi.class),
         @Param(name = "sub_parameters", positional = false, named = true, type = Sequence.class),
         @Param(name = "cc_file", positional = false, named = true, type = FileApi.class),
@@ -176,11 +167,7 @@
             noneable = true,
             defaultValue = "None",
             allowedTypes = {@ParamType(type = String.class), @ParamType(type = NoneType.class)}),
-        @Param(
-            name = "auxiliary_inputs",
-            positional = false,
-            named = true,
-            type = SkylarkNestedSet.class),
+        @Param(name = "auxiliary_inputs", positional = false, named = true, type = Depset.class),
         @Param(name = "swig_attribute_name", positional = false, named = true, type = String.class),
         @Param(
             name = "zip_tool",
@@ -199,7 +186,7 @@
       CcToolchainProviderT ccToolchain,
       FeatureConfigurationT featureConfiguration,
       CcCompilationContextT wrapperCcCompilationContext,
-      SkylarkNestedSet swigIncludes,
+      Depset swigIncludes,
       FileT swigSource,
       Sequence<?> subParameters, // <String> expected
       FileT ccFile,
@@ -207,7 +194,7 @@
       Sequence<?> outputFiles, // <FileT> expected
       Object outDir,
       Object javaDir,
-      SkylarkNestedSet auxiliaryInputs,
+      Depset auxiliaryInputs,
       String swigAttributeName,
       Object zipTool)
       throws EvalException, InterruptedException;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
index 633f427..20fcdc8 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/GeneratedExtensionRegistryProviderApi.java
@@ -22,8 +22,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Provides information about generated proto extensions. */
 @SkylarkModule(
@@ -48,7 +48,7 @@
   FileT getSrcJar();
 
   @SkylarkCallable(name = "inputs", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getInputsForStarlark();
+  Depset /*<FileT>*/ getInputsForStarlark();
 
   /** The provider implementing this can construct the GeneratedExtensionRegistryProvider. */
   @SkylarkModule(name = "Provider", doc = "", documented = false)
@@ -87,7 +87,7 @@
               doc = "Proto jars used to generate the registry",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
@@ -95,11 +95,7 @@
         objectType = GeneratedExtensionRegistryProviderApi.class,
         receiverNameForDoc = NAME)
     GeneratedExtensionRegistryProviderApi<FileT> create(
-        Label generatingRuleLabel,
-        boolean isLite,
-        FileT classJar,
-        FileT srcJar,
-        SkylarkNestedSet inputs)
+        Label generatingRuleLabel, boolean isLite, FileT classJar, FileT srcJar, Depset inputs)
         throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaAnnotationProcessingApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaAnnotationProcessingApi.java
index 9317502..5a4d3cb 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaAnnotationProcessingApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaAnnotationProcessingApi.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import javax.annotation.Nullable;
 
 /**
@@ -64,7 +64,7 @@
       doc =
           "Returns a transitive set of class file jars resulting from annotation "
               + "processing of this rule and its dependencies.")
-  public SkylarkNestedSet /*<FileTypeT>*/ getTransitiveGenClassJarsForStarlark();
+  public Depset /*<FileTypeT>*/ getTransitiveGenClassJarsForStarlark();
 
   @SkylarkCallable(
       name = "transitive_source_jars",
@@ -72,13 +72,13 @@
       doc =
           "Returns a transitive set of source archives resulting from annotation processing "
               + "of this rule and its dependencies.")
-  public SkylarkNestedSet /*<FileTypeT>*/ getTransitiveGenSourceJarsForStarlark();
+  public Depset /*<FileTypeT>*/ getTransitiveGenSourceJarsForStarlark();
 
   @SkylarkCallable(
       name = "processor_classpath",
       structField = true,
       doc = "Returns a classpath of annotation processors applied to this rule.")
-  public SkylarkNestedSet /*<FileTypeT>*/ getProcessorClasspathForStarlark();
+  public Depset /*<FileTypeT>*/ getProcessorClasspathForStarlark();
 
   @SkylarkCallable(
     name = "processor_classnames",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java
index d889bb6..429c62b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java
@@ -26,9 +26,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -531,7 +531,7 @@
             doc = "The JavaInfo to query."),
       },
       enableOnlyWithFlag = FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API)
-  public SkylarkNestedSet /*<FileT>*/ getCompileTimeJavaDependencyArtifacts(JavaInfoT javaInfo);
+  public Depset /*<FileT>*/ getCompileTimeJavaDependencyArtifacts(JavaInfoT javaInfo);
 
   @SkylarkCallable(
       name = "add_compile_time_jdeps",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCompilationInfoProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCompilationInfoProviderApi.java
index 7127cbe..4611644 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCompilationInfoProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCompilationInfoProviderApi.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** Info object for compilation information for java rules. */
 @SkylarkModule(
@@ -36,13 +36,13 @@
       name = "runtime_classpath",
       structField = true,
       doc = "Run-time classpath for this Java target.")
-  public SkylarkNestedSet /*<FileT>*/ getRuntimeClasspath();
+  public Depset /*<FileT>*/ getRuntimeClasspath();
 
   @SkylarkCallable(
       name = "compilation_classpath",
       structField = true,
       doc = "Compilation classpath for this Java target.")
-  public SkylarkNestedSet /*<FileT>*/ getCompilationClasspath();
+  public Depset /*<FileT>*/ getCompilationClasspath();
 
   @SkylarkCallable(
       name = "boot_classpath",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaInfoApi.java
index b1d18c2..62d306b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaInfoApi.java
@@ -23,9 +23,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
 /** Info object encapsulating all information by java rules. */
@@ -43,7 +43,7 @@
               + " href=\"JavaInfo.html#transitive_runtime_deps\">JavaInfo.transitive_runtime_deps"
               + "</a></code> for legacy reasons.",
       structField = true)
-  public SkylarkNestedSet getTransitiveRuntimeJars();
+  public Depset getTransitiveRuntimeJars();
 
   @SkylarkCallable(
       name = "transitive_compile_time_jars",
@@ -53,7 +53,7 @@
               + " href=\"JavaInfo.html#transitive_deps\">JavaInfo.transitive_deps</a></code> for"
               + " legacy reasons.",
       structField = true)
-  public SkylarkNestedSet getTransitiveCompileTimeJars();
+  public Depset getTransitiveCompileTimeJars();
 
   @SkylarkCallable(
       name = "compile_jars",
@@ -62,7 +62,7 @@
               + " interface jars (ijar or hjar), regular jars or both, depending on whether rule"
               + " implementations chose to create interface jars or not.",
       structField = true)
-  public SkylarkNestedSet getCompileTimeJars();
+  public Depset getCompileTimeJars();
 
   @SkylarkCallable(
       name = "full_compile_jars",
@@ -81,7 +81,7 @@
               + " <code><a class=\"anchor\""
               + " href=\"JavaInfo.html#compile_jars\">JavaInfo.compile_jars</a></code></li>",
       structField = true)
-  public SkylarkNestedSet getFullCompileTimeJars();
+  public Depset getFullCompileTimeJars();
 
   @SkylarkCallable(
       name = "source_jars",
@@ -127,7 +127,7 @@
               + " href=\"JavaInfo.html#transitive_compile_time_jars\">JavaInfo.transitive_compile_time_jars</a></code>"
               + " for legacy reasons.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveDeps();
+  public Depset /*<FileT>*/ getTransitiveDeps();
 
   @SkylarkCallable(
       name = "transitive_runtime_deps",
@@ -137,7 +137,7 @@
               + " href=\"JavaInfo.html#transitive_runtime_jars\">JavaInfo.transitive_runtime_jars"
               + "</a></code> for legacy reasons.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveRuntimeDeps();
+  public Depset /*<FileT>*/ getTransitiveRuntimeDeps();
 
   @SkylarkCallable(
       name = "transitive_source_jars",
@@ -145,13 +145,13 @@
           "Returns the Jars containing source files of the current target and all of its"
               + " transitive dependencies.",
       structField = true)
-  public SkylarkNestedSet /*<FileT>*/ getTransitiveSourceJars();
+  public Depset /*<FileT>*/ getTransitiveSourceJars();
 
   @SkylarkCallable(
       name = "transitive_exports",
       structField = true,
       doc = "Returns a set of labels that are being exported from this rule transitively.")
-  public SkylarkNestedSet /*<Label>*/ getTransitiveExports();
+  public Depset /*<Label>*/ getTransitiveExports();
 
   /** Provider class for {@link JavaInfoApi} objects. */
   @SkylarkModule(name = "Provider", documented = false, doc = "")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeClasspathProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeClasspathProviderApi.java
index 78261db..3515609 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeClasspathProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeClasspathProviderApi.java
@@ -17,12 +17,12 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** Provider for the runtime classpath contributions of a Java binary. */
 @SkylarkModule(name = "JavaRuntimeClasspathProvider", doc = "", documented = false)
 public interface JavaRuntimeClasspathProviderApi extends SkylarkValue {
 
   @SkylarkCallable(name = "runtime_classpath", documented = false, structField = true)
-  public SkylarkNestedSet /*<File>*/ getRuntimeClasspath();
+  public Depset /*<File>*/ getRuntimeClasspath();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
index 3116bba..478c625 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /** Information about the Java runtime being used. */
 @SkylarkModule(
@@ -67,5 +67,5 @@
       name = "files",
       doc = "Returns the files in the Java runtime.",
       structField = true)
-  SkylarkNestedSet skylarkJavaBaseInputs();
+  Depset skylarkJavaBaseInputs();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
index e48db2d..cfa2af6 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Provides access to information about the Java toolchain rule. Accessible as a 'java_toolchain'
@@ -56,7 +56,7 @@
       name = "bootclasspath",
       doc = "The Java target bootclasspath entries. Corresponds to javac's -bootclasspath flag.",
       structField = true)
-  public SkylarkNestedSet getSkylarkBootclasspath();
+  public Depset getSkylarkBootclasspath();
 
   @SkylarkCallable(
       name = "jvm_opt",
@@ -65,5 +65,5 @@
   public Sequence<String> getSkylarkJvmOptions();
 
   @SkylarkCallable(name = "tools", doc = "The compilation tools.", structField = true)
-  public SkylarkNestedSet getSkylarkTools();
+  public Depset getSkylarkTools();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
index 8985e03..a847b2a 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkConstructor;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Provides information about proguard specs for Android binaries. */
 @SkylarkModule(
@@ -34,7 +34,7 @@
   public static final String NAME = "ProguardSpecProvider";
 
   @SkylarkCallable(name = "specs", structField = true, doc = "", documented = false)
-  SkylarkNestedSet /*<FileT>*/ getTransitiveProguardSpecsForStarlark();
+  Depset /*<FileT>*/ getTransitiveProguardSpecsForStarlark();
 
   /** The provider implementing this can construct the ProguardSpecProvider. */
   @SkylarkModule(name = "Provider", doc = "", documented = false)
@@ -49,11 +49,11 @@
               doc = "Transitive proguard specs.",
               positional = true,
               named = false,
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class),
         },
         selfCall = true)
     @SkylarkConstructor(objectType = ProguardSpecProviderApi.class, receiverNameForDoc = NAME)
-    ProguardSpecProviderApi<FileT> create(SkylarkNestedSet specs) throws EvalException;
+    ProguardSpecProviderApi<FileT> create(Depset specs) throws EvalException;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoRegistryProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoRegistryProviderApi.java
index 9e30dd7..93c7ed1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoRegistryProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoRegistryProviderApi.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Provides information about flavors for all built protos. */
 @SkylarkModule(
@@ -30,7 +30,7 @@
 public interface ProtoRegistryProviderApi<FileT extends FileApi> extends StructApi {
 
   @SkylarkCallable(name = "jars", documented = false, doc = "", structField = true)
-  SkylarkNestedSet /*<FileT>*/ getJars();
+  Depset /*<FileT>*/ getJars();
 
   @SkylarkCallable(name = "flavors", documented = false, doc = "", structField = true)
   Sequence<String> getFlavors();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyInfoApi.java
index 4fbb185..fadeeae 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyInfoApi.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Provider instance for the Python rules. */
 @SkylarkModule(
@@ -40,7 +40,7 @@
           "A (<code>postorder</code>-compatible) depset of <code>.py</code> files appearing in the "
               + "target's <code>srcs</code> and the <code>srcs</code> of the target's transitive "
               + "<code>deps</code>.")
-  SkylarkNestedSet getTransitiveSources();
+  Depset getTransitiveSources();
 
   @SkylarkCallable(
       name = "uses_shared_libraries",
@@ -62,7 +62,7 @@
               + ""
               + "<p>The order of the depset is not guaranteed and may be changed in the future. It "
               + "is recommended to use <code>default</code> order (the default).")
-  SkylarkNestedSet getImports();
+  Depset getImports();
 
   @SkylarkCallable(
       name = "has_py2_only_sources",
@@ -86,7 +86,7 @@
         parameters = {
           @Param(
               name = "transitive_sources",
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class,
               positional = false,
               named = true,
@@ -100,7 +100,7 @@
               doc = "The value for the new object's <code>uses_shared_libraries</code> field."),
           @Param(
               name = "imports",
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = String.class,
               positional = false,
               named = true,
@@ -125,7 +125,7 @@
         useLocation = true)
     @SkylarkConstructor(objectType = PyInfoApi.class, receiverNameForDoc = "PyInfo")
     PyInfoApi<?> constructor(
-        SkylarkNestedSet transitiveSources,
+        Depset transitiveSources,
         boolean usesSharedLibraries,
         Object importsUncast,
         boolean hasPy2OnlySources,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyRuntimeInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyRuntimeInfoApi.java
index b1ccaad..365b307 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyRuntimeInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyRuntimeInfoApi.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /** Provider instance for {@code py_runtime}. */
@@ -76,7 +76,7 @@
               + "of <code>interpreter</code> need not be included in this "
               + "field. If this is a platform runtime then this field is <code>None</code>.")
   @Nullable
-  SkylarkNestedSet getFilesForStarlark();
+  Depset getFilesForStarlark();
 
   @SkylarkCallable(
       name = "python_version",
@@ -116,7 +116,7 @@
                       + "a value for this argument if you pass in <code>interpreter_path</code>."),
           @Param(
               name = "files",
-              type = SkylarkNestedSet.class,
+              type = Depset.class,
               generic1 = FileApi.class,
               noneable = true,
               positional = false,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureInfoApi.java
index 514e038..d0fb42e 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureInfoApi.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /**
  * Encapsulates information about an analysis-phase error which would have occurred during a build.
@@ -57,7 +57,7 @@
               + "occurred in this target or its dependencies.",
       documented = false,
       structField = true)
-  public SkylarkNestedSet /*<AnalysisFailureApiT>*/ getCauses();
+  public Depset /*<AnalysisFailureApiT>*/ getCauses();
 
   /** Provider class for {@link AnalysisFailureInfoApi} objects. */
   @SkylarkModule(name = "Provider", documented = false, doc = "")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerialization.java b/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerialization.java
index fb3086d..7a7bf91 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerialization.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerialization.java
@@ -22,11 +22,11 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.CallUtils;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.MethodDescriptor;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import java.lang.reflect.Array;
 import java.util.Map;
 import java.util.Set;
@@ -55,7 +55,7 @@
   }
 
   private static boolean hasChildren(Object value) {
-    if (value instanceof SkylarkNestedSet) {
+    if (value instanceof Depset) {
       return true;
     }
     if (value instanceof NestedSetView) {
@@ -83,8 +83,8 @@
   }
 
   static ImmutableList<Value> getChildren(ThreadObjectMap objectMap, Object value) {
-    if (value instanceof SkylarkNestedSet) {
-      return getChildren(objectMap, (SkylarkNestedSet) value);
+    if (value instanceof Depset) {
+      return getChildren(objectMap, (Depset) value);
     }
     if (value instanceof NestedSetView) {
       return getChildren(objectMap, (NestedSetView) value);
@@ -161,8 +161,7 @@
     return children.build();
   }
 
-  private static ImmutableList<Value> getChildren(
-      ThreadObjectMap objectMap, SkylarkNestedSet nestedSet) {
+  private static ImmutableList<Value> getChildren(ThreadObjectMap objectMap, Depset nestedSet) {
     return ImmutableList.<Value>builder()
         .add(
             Value.newBuilder()
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BUILD b/src/main/java/com/google/devtools/build/lib/syntax/BUILD
index 85b2c01..d8b2146 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BUILD
@@ -98,6 +98,7 @@
         "Concatable.java",
         "DebugFrame.java",
         "Debugger.java",
+        "Depset.java",
         "Dict.java",
         "Eval.java",
         "EvalException.java",
@@ -119,7 +120,6 @@
         "Sequence.java",
         "SkylarkClassObject.java",
         "SkylarkIndexable.java",
-        "SkylarkNestedSet.java",
         "SkylarkQueryable.java",
         "SkylarkSignatureProcessor.java",
         "SkylarkType.java",
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java b/src/main/java/com/google/devtools/build/lib/syntax/Depset.java
similarity index 88%
rename from src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java
rename to src/main/java/com/google/devtools/build/lib/syntax/Depset.java
index 7bbef1d..fde1f11 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Depset.java
@@ -32,12 +32,18 @@
 import javax.annotation.Nullable;
 
 /**
- * A generic, type-safe {@link NestedSet} wrapper for Skylark.
+ * A Depset is a Starlark value that wraps a {@link NestedSet}.
  *
- * <p>The content type of a non-empty {@code SkylarkNestedSet} is determined by its first element.
- * All elements must have the same type. An empty depset has type {@code SkylarkType.TOP}, and may
- * be combined with any other depset.
+ * <p>A NestedSet has a type parameter that describes, at compile time, the elements of the set. By
+ * contrast, a Depset has a value, {@link #getContentType}, that describes the elements during
+ * execution. This type symbol permits the element type of a Depset value to be queried, after the
+ * type parameter has been erased, without visiting each element of the often-vast data structure.
+ *
+ * <p>The content type of a non-empty {@code Depset} is determined by its first element. All
+ * elements must have the same type. An empty depset has type {@code SkylarkType.TOP}, and may be
+ * combined with any other depset.
  */
+// TODO(adonovan): move to lib.packages, as this is a Bazelism.
 @SkylarkModule(
     name = "depset",
     category = SkylarkModuleCategory.BUILTIN,
@@ -83,14 +89,14 @@
             + " may interfere with the ordering semantics.")
 @Immutable
 @AutoCodec
-public final class SkylarkNestedSet implements SkylarkValue {
+public final class Depset implements SkylarkValue {
   private final SkylarkType contentType;
   private final NestedSet<?> set;
   @Nullable private final ImmutableList<Object> items;
   @Nullable private final ImmutableList<NestedSet<?>> transitiveItems;
 
   @AutoCodec.VisibleForSerialization
-  SkylarkNestedSet(
+  Depset(
       SkylarkType contentType,
       NestedSet<?> set,
       ImmutableList<Object> items,
@@ -101,12 +107,8 @@
     this.transitiveItems = transitiveItems;
   }
 
-  static SkylarkNestedSet of(
-      Order order,
-      SkylarkType contentType,
-      Object item,
-      Location loc,
-      @Nullable SkylarkNestedSet left)
+  static Depset of(
+      Order order, SkylarkType contentType, Object item, Location loc, @Nullable Depset left)
       throws EvalException {
     ImmutableList.Builder<Object> itemsBuilder = ImmutableList.builder();
     ImmutableList.Builder<NestedSet<?>> transitiveItemsBuilder = ImmutableList.builder();
@@ -119,8 +121,8 @@
       }
     }
     // Adding the item
-    if (item instanceof SkylarkNestedSet) {
-      SkylarkNestedSet nestedSet = (SkylarkNestedSet) item;
+    if (item instanceof Depset) {
+      Depset nestedSet = (Depset) item;
       if (!nestedSet.isEmpty()) {
         contentType = checkType(contentType, nestedSet.contentType, loc);
         transitiveItemsBuilder.add(nestedSet.set);
@@ -151,42 +153,41 @@
       // Order mismatch between item and builder.
       throw new EvalException(loc, e.getMessage());
     }
-    return new SkylarkNestedSet(contentType, builder.build(), items, transitiveItems);
+    return new Depset(contentType, builder.build(), items, transitiveItems);
   }
 
-  static SkylarkNestedSet of(Order order, Object item, Location loc) throws EvalException {
+  static Depset of(Order order, Object item, Location loc) throws EvalException {
     // TODO(adonovan): rethink this API. TOP is a pessimistic type for item, and it's wrong
-    // (should be BOTTOM) if item is an empty SkylarkNestedSet or Sequence.
+    // (should be BOTTOM) if item is an empty Depset or Sequence.
     return of(order, SkylarkType.TOP, item, loc, null);
   }
 
-  static SkylarkNestedSet of(SkylarkNestedSet left, Object right, Location loc)
-      throws EvalException {
+  static Depset of(Depset left, Object right, Location loc) throws EvalException {
     return of(left.set.getOrder(), left.contentType, right, loc, left);
   }
 
   /**
-   * Returns a type-safe SkylarkNestedSet. Use this instead of the constructor if possible.
+   * Returns a type-safe Depset. Use this instead of the constructor if possible.
    *
    * <p>This operation is type-safe only if the specified element type is appropriate for every
    * element of the set.
    */
-  // TODO(adonovan): enforce that we never construct a SkylarkNestedSet with a StarlarkType
+  // TODO(adonovan): enforce that we never construct a Depset with a StarlarkType
   // that represents a non-Skylark type (e.g. NestedSet<PathFragment>).
   // One way to do that is to disallow constructing StarlarkTypes for classes
   // that would fail Starlark.valid; however remains the problem that
   // Object.class means "any Starlark value" but in fact allows any Java value.
-  public static <T> SkylarkNestedSet of(SkylarkType contentType, NestedSet<T> set) {
-    return new SkylarkNestedSet(contentType, set, null, null);
+  public static <T> Depset of(SkylarkType contentType, NestedSet<T> set) {
+    return new Depset(contentType, set, null, null);
   }
 
   /**
-   * Returns a type safe SkylarkNestedSet. Use this instead of the constructor if possible.
+   * Returns a type safe Depset. Use this instead of the constructor if possible.
    *
    * <p>This operation is type-safe only if the specified element type is appropriate for every
    * element of the set.
    */
-  public static <T> SkylarkNestedSet of(Class<T> contentType, NestedSet<T> set) {
+  public static <T> Depset of(Class<T> contentType, NestedSet<T> set) {
     return of(SkylarkType.of(contentType), set);
   }
 
@@ -316,8 +317,8 @@
    *
    * <p>If the parameter's value is None, returns an empty nested set.
    *
-   * @throws EvalException if the parameter is neither None nor a SkylarkNestedSet, or if it is a
-   *     SkylarkNestedSet of an unexpected type
+   * @throws EvalException if the parameter is neither None nor a Depset, or if it is a Depset of an
+   *     unexpected type
    */
   // TODO(b/140932420): Better noneable handling should prevent instanceof checking.
   public static <T> NestedSet<T> getSetFromNoneableParam(
@@ -325,8 +326,8 @@
     if (depsetOrNone == Starlark.NONE) {
       return NestedSetBuilder.<T>emptySet(Order.STABLE_ORDER);
     }
-    if (depsetOrNone instanceof SkylarkNestedSet) {
-      SkylarkNestedSet depset = (SkylarkNestedSet) depsetOrNone;
+    if (depsetOrNone instanceof Depset) {
+      Depset depset = (Depset) depsetOrNone;
       return depset.getSetFromParam(expectedType, fieldName);
     } else {
       throw new EvalException(
@@ -386,7 +387,7 @@
       },
       useLocation = true,
       useStarlarkThread = true)
-  public SkylarkNestedSet union(Object newElements, Location loc, StarlarkThread thread)
+  public Depset union(Object newElements, Location loc, StarlarkThread thread)
       throws EvalException {
     if (thread.getSemantics().incompatibleDepsetUnion()) {
       throw new EvalException(
@@ -397,9 +398,9 @@
               + "to temporarily disable this check.");
     }
     // newElements' type is Object because of the polymorphism on unioning two
-    // SkylarkNestedSets versus a set and another kind of iterable.
+    // Depsets versus a set and another kind of iterable.
     // Can't use EvalUtils#toIterable since that would discard this information.
-    return SkylarkNestedSet.of(this, newElements, loc);
+    return Depset.of(this, newElements, loc);
   }
 
   @SkylarkCallable(
@@ -439,10 +440,10 @@
   }
 
   /**
-   * Builder for {@link SkylarkNestedSet}.
+   * Builder for {@link Depset}.
    *
-   * <p>Use this to construct typesafe Skylark nested sets (depsets).
-   * Encapsulates content type checking logic.
+   * <p>Use this to construct typesafe Skylark nested sets (depsets). Encapsulates content type
+   * checking logic.
    */
   public static final class Builder {
 
@@ -469,7 +470,7 @@
     }
 
     /** Adds a transitive set, checking that its type is equal to the elements already added. */
-    public Builder addTransitive(SkylarkNestedSet transitive) throws EvalException {
+    public Builder addTransitive(Depset transitive) throws EvalException {
       if (transitive.isEmpty()) {
         return this;
       }
@@ -485,8 +486,8 @@
       return this;
     }
 
-    public SkylarkNestedSet build() {
-      return new SkylarkNestedSet(contentType, builder.build(), null, null);
+    public Depset build() {
+      return new Depset(contentType, builder.build(), null, null);
     }
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java b/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
index 10401f5..1ac7a6d 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
@@ -98,7 +98,7 @@
           if (o1 instanceof ClassObject) {
             throw new ComparisonException("Cannot compare structs");
           }
-          if (o1 instanceof SkylarkNestedSet) {
+          if (o1 instanceof Depset) {
             throw new ComparisonException("Cannot compare depsets");
           }
           try {
@@ -144,7 +144,7 @@
    * @param o an Object
    * @return true if the object is known to be an immutable value.
    */
-  // NB: This is used as the basis for accepting objects in SkylarkNestedSet-s.
+  // NB: This is used as the basis for accepting objects in Depset-s.
   public static boolean isImmutable(Object o) {
     if (o instanceof SkylarkValue) {
       return ((SkylarkValue) o).isImmutable();
@@ -159,7 +159,7 @@
    * @param c a Class
    * @return true if the class is known to represent only recursively immutable values.
    */
-  // NB: This is used as the basis for accepting objects in SkylarkNestedSet-s,
+  // NB: This is used as the basis for accepting objects in Depset-s,
   // as well as for accepting objects as keys for Skylark dict-s.
   private static boolean isImmutable(Class<?> c) {
     return c.isAnnotationPresent(Immutable.class) // TODO(bazel-team): beware of containers!
@@ -218,8 +218,8 @@
   public static String getDataTypeName(Object object, boolean fullDetails) {
     Preconditions.checkNotNull(object);
     if (fullDetails) {
-      if (object instanceof SkylarkNestedSet) {
-        SkylarkNestedSet set = (SkylarkNestedSet) object;
+      if (object instanceof Depset) {
+        Depset set = (Depset) object;
         return "depset of " + set.getContentType() + "s";
       }
       if (object instanceof SelectorList) {
@@ -693,7 +693,7 @@
     }
 
     // TODO(bazel-team): Remove deprecated operator.
-    if (x instanceof SkylarkNestedSet) {
+    if (x instanceof Depset) {
       if (thread.getSemantics().incompatibleDepsetUnion()) {
         throw new EvalException(
             location,
@@ -702,7 +702,7 @@
                 + "recommendations. Use --incompatible_depset_union=false "
                 + "to temporarily disable this check.");
       }
-      return SkylarkNestedSet.of((SkylarkNestedSet) x, y, location);
+      return Depset.of((Depset) x, y, location);
     }
     throw unknownBinaryOperator(x, y, TokenKind.PLUS, location);
   }
@@ -712,7 +712,7 @@
       throws EvalException {
     if (x instanceof Integer && y instanceof Integer) {
       return ((Integer) x) | ((Integer) y);
-    } else if (x instanceof SkylarkNestedSet) {
+    } else if (x instanceof Depset) {
       if (thread.getSemantics().incompatibleDepsetUnion()) {
         throw new EvalException(
             location,
@@ -721,7 +721,7 @@
                 + "recommendations. Use --incompatible_depset_union=false "
                 + "to temporarily disable this check.");
       }
-      return SkylarkNestedSet.of((SkylarkNestedSet) x, y, location);
+      return Depset.of((Depset) x, y, location);
     }
     throw unknownBinaryOperator(x, y, TokenKind.PIPE, location);
   }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
index b8f4332..2a339fd 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
@@ -981,7 +981,7 @@
             named = true,
             positional = false,
             type = Sequence.class,
-            generic1 = SkylarkNestedSet.class,
+            generic1 = Depset.class,
             noneable = true,
             doc = "A list of depsets whose elements will become indirect elements of the depset.",
             defaultValue = "None"),
@@ -1001,7 +1001,7 @@
       },
       useLocation = true,
       useStarlarkSemantics = true)
-  public SkylarkNestedSet depset(
+  public Depset depset(
       Object x,
       String orderString,
       Object direct,
@@ -1011,7 +1011,7 @@
       StarlarkSemantics semantics)
       throws EvalException {
     Order order;
-    SkylarkNestedSet result;
+    Depset result;
     try {
       order = Order.parse(orderString);
     } catch (IllegalArgumentException ex) {
@@ -1052,10 +1052,10 @@
     return result;
   }
 
-  private static SkylarkNestedSet depsetConstructor(
+  private static Depset depsetConstructor(
       Object direct, Order order, Object transitive, Location loc) throws EvalException {
 
-    if (direct instanceof SkylarkNestedSet) {
+    if (direct instanceof Depset) {
       throw new EvalException(
           loc,
           "parameter 'direct' must contain a list of elements, and may "
@@ -1063,12 +1063,11 @@
               + "by setting --incompatible_disable_depset_inputs=false");
     }
 
-    SkylarkNestedSet.Builder builder = SkylarkNestedSet.builder(order, loc);
+    Depset.Builder builder = Depset.builder(order, loc);
     for (Object directElement : listFromNoneable(direct, Object.class, "direct")) {
       builder.addDirect(directElement);
     }
-    for (SkylarkNestedSet transitiveSet :
-        listFromNoneable(transitive, SkylarkNestedSet.class, "transitive")) {
+    for (Depset transitiveSet : listFromNoneable(transitive, Depset.class, "transitive")) {
       builder.addTransitive(transitiveSet);
     }
     return builder.build();
@@ -1084,13 +1083,13 @@
     }
   }
 
-  private static SkylarkNestedSet legacyDepsetConstructor(
+  private static Depset legacyDepsetConstructor(
       Object items, Order order, Object direct, Object transitive, Location loc)
       throws EvalException {
 
     if (transitive == Starlark.NONE && direct == Starlark.NONE) {
       // Legacy behavior.
-      return SkylarkNestedSet.of(order, items, loc);
+      return Depset.of(order, items, loc);
     }
 
     if (direct != Starlark.NONE && !isEmptySkylarkList(items)) {
@@ -1108,18 +1107,18 @@
       directElements = ((Sequence<?>) items).getContents(Object.class, "items");
     }
 
-    Iterable<SkylarkNestedSet> transitiveList;
+    Iterable<Depset> transitiveList;
     if (transitive != Starlark.NONE) {
       SkylarkType.checkType(transitive, Sequence.class, "transitive");
-      transitiveList = ((Sequence<?>) transitive).getContents(SkylarkNestedSet.class, "transitive");
+      transitiveList = ((Sequence<?>) transitive).getContents(Depset.class, "transitive");
     } else {
       transitiveList = ImmutableList.of();
     }
-    SkylarkNestedSet.Builder builder = SkylarkNestedSet.builder(order, loc);
+    Depset.Builder builder = Depset.builder(order, loc);
     for (Object directElement : directElements) {
       builder.addDirect(directElement);
     }
-    for (SkylarkNestedSet transitiveSet : transitiveList) {
+    for (Depset transitiveSet : transitiveList) {
       builder.addTransitive(transitiveSet);
     }
     return builder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
index fe907f3..b6d8f3f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
@@ -167,8 +167,8 @@
   /** The TUPLE type, that contains all Tuple-s */
   @AutoCodec static final Simple TUPLE = Simple.forClass(Tuple.class);
 
-  /** The SET type, that contains all SkylarkNestedSets, and the generic combinator for them */
-  @AutoCodec static final Simple SET = Simple.forClass(SkylarkNestedSet.class);
+  /** The SET type, that contains all Depsets, and the generic combinator for them */
+  @AutoCodec static final Simple SET = Simple.forClass(Depset.class);
 
   // Common subclasses of SkylarkType
 
@@ -297,7 +297,7 @@
   static class Combination extends SkylarkType {
     // For the moment, we can only combine a Simple type with a Simple type,
     // and the first one has to be a Java generic class,
-    // and in practice actually one of Sequence or SkylarkNestedSet
+    // and in practice actually one of Sequence or Depset
     private final SkylarkType genericType; // actually always a Simple, for now.
     private final SkylarkType argType; // not always Simple
 
@@ -514,7 +514,7 @@
   }
 
   // TODO(adonovan): eliminate this function: a value may belong to many types.
-  // This function is used to infer the type to use for a SkylarkNestedSet from its first
+  // This function is used to infer the type to use for a Depset from its first
   // element, but this may be unsound in general (e.g. in the presence of sum types).
   static SkylarkType of(Object object) {
     return of(object.getClass());
@@ -522,7 +522,7 @@
 
   /** Returns the type for a Java class. */
   public static SkylarkType of(Class<?> type) {
-    if (SkylarkNestedSet.class.isAssignableFrom(type)) { // just an optimization
+    if (Depset.class.isAssignableFrom(type)) { // just an optimization
       return SET;
     } else if (BaseFunction.class.isAssignableFrom(type)) {
       return new SkylarkFunctionType("unknown", TOP);
@@ -598,8 +598,8 @@
   // Utility functions regarding types
 
   private static SkylarkType getGenericArgType(Object value) {
-    if (value instanceof SkylarkNestedSet) {
-      return ((SkylarkNestedSet) value).getContentType();
+    if (value instanceof Depset) {
+      return ((Depset) value).getContentType();
     } else {
       return TOP;
     }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
index ea2153d..95e82bc 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
@@ -423,11 +423,9 @@
         if (value.equals(otherValue)) {
           continue;
         }
-        if (value instanceof SkylarkNestedSet) {
-          if (otherValue instanceof SkylarkNestedSet
-              && ((SkylarkNestedSet) value)
-                  .toCollection()
-                  .equals(((SkylarkNestedSet) otherValue).toCollection())) {
+        if (value instanceof Depset) {
+          if (otherValue instanceof Depset
+              && ((Depset) value).toCollection().equals(((Depset) otherValue).toCollection())) {
             continue;
           }
         } else if (value instanceof Dict) {
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkCommandLineApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkCommandLineApi.java
index 8c11461..4131014 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkCommandLineApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkCommandLineApi.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkCommandLineApi;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 
 /**
  * Fake implementation of {@link SkylarkCommandLineApi}.
@@ -23,7 +23,7 @@
 public class FakeSkylarkCommandLineApi implements SkylarkCommandLineApi {
 
   @Override
-  public String joinPaths(String separator, SkylarkNestedSet files) {
+  public String joinPaths(String separator, Depset files) {
     return "";
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java
index 539f495..9b53b22 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidNativeLibsInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Fake implementation of {@link AndroidNativeLibsInfoApi}.
@@ -27,7 +27,7 @@
 public class FakeAndroidNativeLibsInfo implements AndroidNativeLibsInfoApi<FileApi> {
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getNativeLibsForStarlark() {
+  public Depset /*<FileApi>*/ getNativeLibsForStarlark() {
     return null;
   }
 
@@ -51,8 +51,7 @@
       implements AndroidNativeLibsInfoApiProvider {
 
     @Override
-    public AndroidNativeLibsInfoApi<?> createInfo(SkylarkNestedSet nativeLibs)
-        throws EvalException {
+    public AndroidNativeLibsInfoApi<?> createInfo(Depset nativeLibs) throws EvalException {
       return new FakeAndroidNativeLibsInfo();
     }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java
index 3e974a9..8725750 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java
@@ -21,9 +21,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidResourcesInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.ValidatedAndroidDataApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Fake implementation of {@link AndroidResourcesInfoApi}. */
 public class FakeAndroidResourcesInfo
@@ -52,53 +52,52 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FakeValidatedAndroidDataApi>*/
-      getTransitiveAndroidResourcesForStarlark() {
+  public Depset /*<FakeValidatedAndroidDataApi>*/ getTransitiveAndroidResourcesForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FakeValidatedAndroidDataApi>*/ getDirectAndroidResourcesForStarlark() {
+  public Depset /*<FakeValidatedAndroidDataApi>*/ getDirectAndroidResourcesForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveResourcesForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveResourcesForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveManifestsForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveManifestsForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveAapt2RTxtForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveAapt2RTxtForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveAapt2ValidationArtifactsForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveAapt2ValidationArtifactsForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveSymbolsBinForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveSymbolsBinForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveCompiledSymbolsForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveCompiledSymbolsForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveStaticLibForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveStaticLibForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getTransitiveRTxtForStarlark() {
+  public Depset /*<FileApi>*/ getTransitiveRTxtForStarlark() {
     return null;
   }
 
@@ -127,15 +126,15 @@
         Label label,
         FakeAndroidManifestInfoApi manifest,
         FileApi rTxt,
-        SkylarkNestedSet transitiveAndroidResources,
-        SkylarkNestedSet directAndroidResources,
-        SkylarkNestedSet transitiveResources,
-        SkylarkNestedSet transitiveManifests,
-        SkylarkNestedSet transitiveAapt2RTxt,
-        SkylarkNestedSet transitiveSymbolsBin,
-        SkylarkNestedSet transitiveCompiledSymbols,
-        SkylarkNestedSet transitiveStaticLib,
-        SkylarkNestedSet transitiveRTxt,
+        Depset transitiveAndroidResources,
+        Depset directAndroidResources,
+        Depset transitiveResources,
+        Depset transitiveManifests,
+        Depset transitiveAapt2RTxt,
+        Depset transitiveSymbolsBin,
+        Depset transitiveCompiledSymbols,
+        Depset transitiveStaticLib,
+        Depset transitiveRTxt,
         Object transitiveAapt2ValidationArtifacts)
         throws EvalException {
       return new FakeAndroidResourcesInfo();
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleDynamicFrameworkInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleDynamicFrameworkInfo.java
index 3363827..cb3033d 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleDynamicFrameworkInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleDynamicFrameworkInfo.java
@@ -19,19 +19,19 @@
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleDynamicFrameworkInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ObjcProviderApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Fake implementation of {@link AppleDynamicFrameworkInfoApi}. */
 public class FakeAppleDynamicFrameworkInfo implements AppleDynamicFrameworkInfoApi<FileApi> {
 
   @Override
-  public SkylarkNestedSet /*<String>*/ getDynamicFrameworkDirs() {
+  public Depset /*<String>*/ getDynamicFrameworkDirs() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getDynamicFrameworkFiles() {
+  public Depset /*<FileApi>*/ getDynamicFrameworkFiles() {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeObjcProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeObjcProvider.java
index d463ed2..8727e65 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeObjcProvider.java
@@ -17,8 +17,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ObjcProviderApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /**
  * Fake implementation of {@link ObjcProviderApi}.
@@ -26,32 +26,32 @@
 public class FakeObjcProvider implements ObjcProviderApi<FileApi> {
 
   @Override
-  public SkylarkNestedSet /*<String>*/ defineForStarlark() {
+  public Depset /*<String>*/ defineForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ dynamicFrameworkFileForStarlark() {
+  public Depset /*<FileApi>*/ dynamicFrameworkFileForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ exportedDebugArtifacts() {
+  public Depset /*<FileApi>*/ exportedDebugArtifacts() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet frameworkSearchPathOnly() {
+  public Depset frameworkSearchPathOnly() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ forceLoadLibrary() {
+  public Depset /*<FileApi>*/ forceLoadLibrary() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ headerForStarlark() {
+  public Depset /*<FileApi>*/ headerForStarlark() {
     return null;
   }
 
@@ -61,67 +61,67 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ importedLibrary() {
+  public Depset /*<FileApi>*/ importedLibrary() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet include() {
+  public Depset include() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet includeSystem() {
+  public Depset includeSystem() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet iquote() {
+  public Depset iquote() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ j2objcLibrary() {
+  public Depset /*<FileApi>*/ j2objcLibrary() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ jreLibrary() {
+  public Depset /*<FileApi>*/ jreLibrary() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ library() {
+  public Depset /*<FileApi>*/ library() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ linkInputs() {
+  public Depset /*<FileApi>*/ linkInputs() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ linkedBinary() {
+  public Depset /*<FileApi>*/ linkedBinary() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ linkmapFile() {
+  public Depset /*<FileApi>*/ linkmapFile() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ linkopt() {
+  public Depset /*<String>*/ linkopt() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ mergeZip() {
+  public Depset /*<FileApi>*/ mergeZip() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ moduleMap() {
+  public Depset /*<FileApi>*/ moduleMap() {
     return null;
   }
 
@@ -131,32 +131,32 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ multiArchDynamicLibraries() {
+  public Depset /*<FileApi>*/ multiArchDynamicLibraries() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ multiArchLinkedArchives() {
+  public Depset /*<FileApi>*/ multiArchLinkedArchives() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ multiArchLinkedBinaries() {
+  public Depset /*<FileApi>*/ multiArchLinkedBinaries() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ sdkDylib() {
+  public Depset /*<String>*/ sdkDylib() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet sdkFramework() {
+  public Depset sdkFramework() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ sourceForStarlark() {
+  public Depset /*<FileApi>*/ sourceForStarlark() {
     return null;
   }
 
@@ -166,37 +166,37 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ staticFrameworkFileForStarlark() {
+  public Depset /*<FileApi>*/ staticFrameworkFileForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ umbrellaHeader() {
+  public Depset /*<FileApi>*/ umbrellaHeader() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet weakSdkFramework() {
+  public Depset weakSdkFramework() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkNamesForStarlark() {
+  public Depset /*<String>*/ dynamicFrameworkNamesForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ dynamicFrameworkPathsForStarlark() {
+  public Depset /*<String>*/ dynamicFrameworkPathsForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ staticFrameworkNamesForStarlark() {
+  public Depset /*<String>*/ staticFrameworkNamesForStarlark() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<String>*/ staticFrameworkPathsForStarlark() {
+  public Depset /*<String>*/ staticFrameworkPathsForStarlark() {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java
index 9e03434..374f726 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java
@@ -31,8 +31,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.go.GoConfigurationApi;
 import com.google.devtools.build.lib.skylarkbuildapi.go.GoContextInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.go.GoPackageInfoApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Tuple;
 
 /** Fake implementation of {@link GoWrapCcHelperApi}. */
@@ -112,7 +112,7 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getGopackageFilesForStarlark(
+  public Depset /*<FileApi>*/ getGopackageFilesForStarlark(
       SkylarkRuleContextApi skylarkRuleContext, FileApi skylarkGopkg) {
     return null;
   }
@@ -125,8 +125,7 @@
   }
 
   @Override
-  public SkylarkNestedSet skylarkCollectTransitiveSwigIncludes(
-      SkylarkRuleContextApi skylarkRuleContext) {
+  public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextApi skylarkRuleContext) {
     return null;
   }
 
@@ -149,7 +148,7 @@
 
   @Override
   public WrapCcIncludeProviderApi getWrapCcIncludeProvider(
-      SkylarkRuleContextApi skylarkRuleContext, SkylarkNestedSet swigIncludes) {
+      SkylarkRuleContextApi skylarkRuleContext, Depset swigIncludes) {
     return null;
   }
 
@@ -159,7 +158,7 @@
       CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain,
       FeatureConfigurationApi featureConfiguration,
       CcCompilationContextApi wrapperCcCompilationContext,
-      SkylarkNestedSet swigIncludes,
+      Depset swigIncludes,
       FileApi swigSource,
       Sequence<?> subParameters,
       FileApi ccFile,
@@ -167,7 +166,7 @@
       Sequence<?> outputFiles,
       Object outDir,
       Object javaDir,
-      SkylarkNestedSet auxiliaryInputs,
+      Depset auxiliaryInputs,
       String swigAttributeName,
       Object zipTool) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java
index 5f74293..2c9ffcb 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java
@@ -25,8 +25,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcHelperApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.WrapCcIncludeProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Fake implementation of {@link PyWrapCcHelperApi}. */
 public class FakePyWrapCcHelper
@@ -46,14 +46,14 @@
   }
 
   @Override
-  public SkylarkNestedSet getTransitivePythonSources(
+  public Depset getTransitivePythonSources(
       SkylarkRuleContextApi skylarkRuleContext, FileApi pyFile) {
     return null;
   }
 
   @Override
   public RunfilesApi getPythonRunfiles(
-      SkylarkRuleContextApi skylarkRuleContext, SkylarkNestedSet filesToBuild) {
+      SkylarkRuleContextApi skylarkRuleContext, Depset filesToBuild) {
     return null;
   }
 
@@ -71,8 +71,7 @@
   }
 
   @Override
-  public SkylarkNestedSet skylarkCollectTransitiveSwigIncludes(
-      SkylarkRuleContextApi skylarkRuleContext) {
+  public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextApi skylarkRuleContext) {
     return null;
   }
 
@@ -83,7 +82,7 @@
 
   @Override
   public WrapCcIncludeProviderApi getWrapCcIncludeProvider(
-      SkylarkRuleContextApi skylarkRuleContext, SkylarkNestedSet swigIncludes) {
+      SkylarkRuleContextApi skylarkRuleContext, Depset swigIncludes) {
     return null;
   }
 
@@ -93,7 +92,7 @@
       CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain,
       FeatureConfigurationApi featureConfiguration,
       CcCompilationContextApi wrapperCcCompilationContext,
-      SkylarkNestedSet swigIncludes,
+      Depset swigIncludes,
       FileApi swigSource,
       Sequence<?> subParameters,
       FileApi ccFile,
@@ -101,7 +100,7 @@
       Sequence<?> outputFiles,
       Object outDir,
       Object javaDir,
-      SkylarkNestedSet auxiliaryInputs,
+      Depset auxiliaryInputs,
       String swigAttributeName,
       Object zipTool) {}
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java
index 3bdab61..0c611de 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java
@@ -23,9 +23,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCommonApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.skydoc.fakebuildapi.FakeProviderApi;
@@ -156,8 +156,7 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<FileApi>*/ getCompileTimeJavaDependencyArtifacts(
-      FakeJavaInfo javaInfo) {
+  public Depset /*<FileApi>*/ getCompileTimeJavaDependencyArtifacts(FakeJavaInfo javaInfo) {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaInfo.java
index 70f6f0e..bf16380 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaInfo.java
@@ -21,9 +21,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaRuleOutputJarsProviderApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
 /**
@@ -32,22 +32,22 @@
 public class FakeJavaInfo implements JavaInfoApi<FileApi> {
 
   @Override
-  public SkylarkNestedSet /*<File>*/ getTransitiveRuntimeJars() {
+  public Depset /*<File>*/ getTransitiveRuntimeJars() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet getTransitiveCompileTimeJars() {
+  public Depset getTransitiveCompileTimeJars() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet getCompileTimeJars() {
+  public Depset getCompileTimeJars() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet getFullCompileTimeJars() {
+  public Depset getFullCompileTimeJars() {
     return null;
   }
 
@@ -77,22 +77,22 @@
   }
 
   @Override
-  public SkylarkNestedSet /*<File>*/ getTransitiveDeps() {
+  public Depset /*<File>*/ getTransitiveDeps() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<File>*/ getTransitiveRuntimeDeps() {
+  public Depset /*<File>*/ getTransitiveRuntimeDeps() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<File>*/ getTransitiveSourceJars() {
+  public Depset /*<File>*/ getTransitiveSourceJars() {
     return null;
   }
 
   @Override
-  public SkylarkNestedSet /*<Label>*/ getTransitiveExports() {
+  public Depset /*<Label>*/ getTransitiveExports() {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaRuntimeInfoApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaRuntimeInfoApi.java
index f9c9219..55672b8 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaRuntimeInfoApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaRuntimeInfoApi.java
@@ -17,8 +17,8 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaRuntimeInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 final class FakeJavaRuntimeInfoApi implements JavaRuntimeInfoApi {
 
@@ -43,7 +43,7 @@
   }
 
   @Override
-  public SkylarkNestedSet skylarkJavaBaseInputs() {
+  public Depset skylarkJavaBaseInputs() {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaToolchainSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaToolchainSkylarkApiProviderApi.java
index 3f841f6..284b9e77 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaToolchainSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaToolchainSkylarkApiProviderApi.java
@@ -18,9 +18,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 final class FakeJavaToolchainSkylarkApiProviderApi implements JavaToolchainSkylarkApiProviderApi {
 
@@ -45,7 +45,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkBootclasspath() {
+  public Depset getSkylarkBootclasspath() {
     return null;
   }
 
@@ -55,7 +55,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getSkylarkTools() {
+  public Depset getSkylarkTools() {
     return null;
   }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyInfo.java
index b495e04..aa93b32 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyInfo.java
@@ -18,14 +18,14 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Fake implementation of {@link PyInfoApi}. */
 public class FakePyInfo implements PyInfoApi<FileApi> {
 
   @Override
-  public SkylarkNestedSet getTransitiveSources() {
+  public Depset getTransitiveSources() {
     return null;
   }
 
@@ -35,7 +35,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getImports() {
+  public Depset getImports() {
     return null;
   }
 
@@ -57,7 +57,7 @@
 
     @Override
     public PyInfoApi<?> constructor(
-        SkylarkNestedSet transitiveSources,
+        Depset transitiveSources,
         boolean usesSharedLibraries,
         Object importsUncast,
         boolean hasPy2OnlySources,
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyRuntimeInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyRuntimeInfo.java
index 7ba31e7..8e7a2ba 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyRuntimeInfo.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyRuntimeInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
 /** Fake implementation of {@link PyRuntimeInfoApi}. */
 public class FakePyRuntimeInfo implements PyRuntimeInfoApi<FileApi> {
@@ -35,7 +35,7 @@
   }
 
   @Override
-  public SkylarkNestedSet getFilesForStarlark() {
+  public Depset getFilesForStarlark() {
     return null;
   }
 
diff --git a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
index 1dc4b1f..2e9fe3d 100644
--- a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
@@ -27,9 +27,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.Tuple;
 import com.google.devtools.build.lib.util.Classpath;
@@ -224,7 +224,7 @@
   private static class MockClassWithContainerReturnValues implements SkylarkValue {
 
     @SkylarkCallable(name = "depset", doc = "depset")
-    public SkylarkNestedSet /*<Integer>*/ getNestedSet() {
+    public Depset /*<Integer>*/ getNestedSet() {
       return null;
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java b/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
index 120e644..12b9468 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.Tuple;
 import com.google.devtools.build.lib.testutil.MoreAsserts;
@@ -277,9 +277,8 @@
 
   @Test
   public void testListDepsetConversion() throws Exception {
-    Object input = SkylarkNestedSet.of(
-        String.class,
-        NestedSetBuilder.create(Order.STABLE_ORDER, "a", "b", "c"));
+    Object input =
+        Depset.of(String.class, NestedSetBuilder.create(Order.STABLE_ORDER, "a", "b", "c"));
     Type.STRING_LIST.convert(input, null);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 9781f68..9de3830 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -50,11 +50,11 @@
 import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.VariableWithValue;
 import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.WithFeatureSet;
 import com.google.devtools.build.lib.rules.cpp.CcToolchainVariables.StringValueParser;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.testutil.Scratch;
@@ -117,7 +117,7 @@
         ");");
 
     ConfiguredTarget r = getConfiguredTarget("//a:r");
-    SkylarkNestedSet allFiles = (SkylarkNestedSet) getMyInfoFromTarget(r).getValue("all_files");
+    Depset allFiles = (Depset) getMyInfoFromTarget(r).getValue("all_files");
     RuleContext ruleContext = getRuleContext(r);
     CcToolchainProvider toolchain =
         CppHelper.getToolchain(
@@ -161,8 +161,8 @@
         new SkylarkProvider.SkylarkKey(
             Label.create(r.getLabel().getPackageIdentifier(), "rule.bzl"), "CruleInfo");
     SkylarkInfo cruleInfo = (SkylarkInfo) r.get(key);
-    SkylarkNestedSet staticRuntimeLib = (SkylarkNestedSet) cruleInfo.getValue("static");
-    SkylarkNestedSet dynamicRuntimeLib = (SkylarkNestedSet) cruleInfo.getValue("dynamic");
+    Depset staticRuntimeLib = (Depset) cruleInfo.getValue("static");
+    Depset dynamicRuntimeLib = (Depset) cruleInfo.getValue("dynamic");
 
     assertThat(staticRuntimeLib.getSet(Artifact.class).toList()).isEmpty();
     assertThat(dynamicRuntimeLib.getSet(Artifact.class).toList()).isEmpty();
@@ -176,8 +176,8 @@
     invalidatePackages();
     r = getConfiguredTarget("//a:r");
     cruleInfo = (SkylarkInfo) r.get(key);
-    staticRuntimeLib = (SkylarkNestedSet) cruleInfo.getValue("static");
-    dynamicRuntimeLib = (SkylarkNestedSet) cruleInfo.getValue("dynamic");
+    staticRuntimeLib = (Depset) cruleInfo.getValue("static");
+    dynamicRuntimeLib = (Depset) cruleInfo.getValue("dynamic");
 
     RuleContext ruleContext = getRuleContext(r);
     CcToolchainProvider toolchain =
@@ -1119,7 +1119,7 @@
     StructImpl myInfo = getMyInfoFromTarget(getConfiguredTarget("//a:r"));
 
     List<Artifact> mergedHeaders =
-        ((SkylarkNestedSet) myInfo.getValue("merged_headers")).getSet(Artifact.class).toList();
+        ((Depset) myInfo.getValue("merged_headers")).getSet(Artifact.class).toList();
     assertThat(
             mergedHeaders.stream()
                 .map(Artifact::getFilename)
@@ -1127,28 +1127,24 @@
         .containsAtLeast("header.h", "dep1.h", "dep2.h");
 
     List<String> mergedDefines =
-        ((SkylarkNestedSet) myInfo.getValue("merged_defines")).getSet(String.class).toList();
+        ((Depset) myInfo.getValue("merged_defines")).getSet(String.class).toList();
     assertThat(mergedDefines).containsAtLeast("MYDEFINE", "DEP1", "DEP2");
     assertThat(mergedDefines).doesNotContain("LOCALDEP1");
 
     List<String> mergedSystemIncludes =
-        ((SkylarkNestedSet) myInfo.getValue("merged_system_includes"))
-            .getSet(String.class)
-            .toList();
+        ((Depset) myInfo.getValue("merged_system_includes")).getSet(String.class).toList();
     assertThat(mergedSystemIncludes).containsAtLeast("foo/bar", "a/dep1/baz", "a/dep2/qux");
 
     List<String> mergedIncludes =
-        ((SkylarkNestedSet) myInfo.getValue("merged_includes")).getSet(String.class).toList();
+        ((Depset) myInfo.getValue("merged_includes")).getSet(String.class).toList();
     assertThat(mergedIncludes).contains("baz/qux");
 
     List<String> mergedQuoteIncludes =
-        ((SkylarkNestedSet) myInfo.getValue("merged_quote_includes")).getSet(String.class).toList();
+        ((Depset) myInfo.getValue("merged_quote_includes")).getSet(String.class).toList();
     assertThat(mergedQuoteIncludes).contains("quux/abc");
 
     List<String> mergedFrameworkIncludes =
-        ((SkylarkNestedSet) myInfo.getValue("merged_framework_includes"))
-            .getSet(String.class)
-            .toList();
+        ((Depset) myInfo.getValue("merged_framework_includes")).getSet(String.class).toList();
     assertThat(mergedFrameworkIncludes).contains("fuux/fgh");
   }
 
@@ -1297,7 +1293,7 @@
     ConfiguredTarget a = getConfiguredTarget("//a:a");
     StructImpl info = ((StructImpl) getMyInfoFromTarget(a).getValue("info"));
 
-    SkylarkNestedSet librariesToLink = info.getValue("libraries_to_link", SkylarkNestedSet.class);
+    Depset librariesToLink = info.getValue("libraries_to_link", Depset.class);
     assertThat(
             librariesToLink.toCollection(LibraryToLink.class).stream()
                 .filter(x -> x.getStaticLibrary() != null)
@@ -1339,15 +1335,14 @@
         (Sequence<String>) info.getValue("user_link_flags", Sequence.class);
     assertThat(userLinkFlags.getImmutableList())
         .containsExactly("-la", "-lc2", "-DEP2_LINKOPT", "-lc1", "-lc2", "-DEP1_LINKOPT");
-    SkylarkNestedSet additionalInputs = info.getValue("additional_inputs", SkylarkNestedSet.class);
+    Depset additionalInputs = info.getValue("additional_inputs", Depset.class);
     assertThat(
             additionalInputs.toCollection(Artifact.class).stream()
                 .map(x -> x.getFilename())
                 .collect(ImmutableList.toImmutableList()))
         .containsExactly("b.lds", "d.lds");
     Collection<LibraryToLink> librariesToLink =
-        info.getValue("libraries_to_link", SkylarkNestedSet.class)
-            .toCollection(LibraryToLink.class);
+        info.getValue("libraries_to_link", Depset.class).toCollection(LibraryToLink.class);
     assertThat(
             librariesToLink.stream()
                 .filter(x -> x.getStaticLibrary() != null)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
index 087a09b..9d102cf 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
@@ -32,8 +32,8 @@
 import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.build.lib.util.FileType;
 import java.util.ArrayList;
@@ -315,12 +315,10 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//java/test:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet transitiveRuntimeJars =
-        ((SkylarkNestedSet) info.getValue("transitive_runtime_jars"));
-    SkylarkNestedSet transitiveCompileTimeJars =
-        ((SkylarkNestedSet) info.getValue("transitive_compile_time_jars"));
-    SkylarkNestedSet compileJars = ((SkylarkNestedSet) info.getValue("compile_jars"));
-    SkylarkNestedSet fullCompileJars = ((SkylarkNestedSet) info.getValue("full_compile_jars"));
+    Depset transitiveRuntimeJars = ((Depset) info.getValue("transitive_runtime_jars"));
+    Depset transitiveCompileTimeJars = ((Depset) info.getValue("transitive_compile_time_jars"));
+    Depset compileJars = ((Depset) info.getValue("compile_jars"));
+    Depset fullCompileJars = ((Depset) info.getValue("full_compile_jars"));
     @SuppressWarnings("unchecked")
     Sequence<Artifact> sourceJars = ((Sequence<Artifact>) info.getValue("source_jars"));
     JavaRuleOutputJarsProvider outputs = ((JavaRuleOutputJarsProvider) info.getValue("outputs"));
@@ -1069,16 +1067,16 @@
         .containsExactly("com.google.process.stuff");
     assertThat(
             Iterables.transform(
-                ((SkylarkNestedSet) info.getValue("processor_classpath")).toCollection(),
+                ((Depset) info.getValue("processor_classpath")).toCollection(),
                 o -> ((Artifact) o).getFilename()))
         .containsExactly("libplugin.jar", "libplugin_dep.jar");
-    assertThat(((SkylarkNestedSet) info.getValue("transitive_class_jars")).toCollection())
+    assertThat(((Depset) info.getValue("transitive_class_jars")).toCollection())
         .hasSize(3); // from to_be_processed, dep, and export
-    assertThat(((SkylarkNestedSet) info.getValue("transitive_class_jars")).toCollection())
+    assertThat(((Depset) info.getValue("transitive_class_jars")).toCollection())
         .contains(info.getValue("class_jar"));
-    assertThat(((SkylarkNestedSet) info.getValue("transitive_source_jars")).toCollection())
+    assertThat(((Depset) info.getValue("transitive_source_jars")).toCollection())
         .hasSize(3); // from to_be_processed, dep, and export
-    assertThat(((SkylarkNestedSet) info.getValue("transitive_source_jars")).toCollection())
+    assertThat(((Depset) info.getValue("transitive_source_jars")).toCollection())
         .contains(info.getValue("source_jar"));
   }
 
@@ -1123,11 +1121,9 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//java/test:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet rawMyCompileJars = (SkylarkNestedSet) (info.getValue("compile_jars"));
-    SkylarkNestedSet rawMyTransitiveRuntimeJars =
-        (SkylarkNestedSet) (info.getValue("transitive_runtime_jars"));
-    SkylarkNestedSet rawMyTransitiveCompileTimeJars =
-        (SkylarkNestedSet) (info.getValue("transitive_compile_time_jars"));
+    Depset rawMyCompileJars = (Depset) info.getValue("compile_jars");
+    Depset rawMyTransitiveRuntimeJars = (Depset) info.getValue("transitive_runtime_jars");
+    Depset rawMyTransitiveCompileTimeJars = (Depset) info.getValue("transitive_compile_time_jars");
 
     NestedSet<Artifact> myCompileJars = rawMyCompileJars.getSet(Artifact.class);
     NestedSet<Artifact> myTransitiveRuntimeJars = rawMyTransitiveRuntimeJars.getSet(Artifact.class);
@@ -1379,7 +1375,7 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
+    Depset sourceJars = (Depset) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
         .containsExactly(
@@ -1412,7 +1408,7 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
+    Depset sourceJars = (Depset) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
         .containsExactly(
@@ -1445,7 +1441,7 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet sourceJars = (SkylarkNestedSet) info.getValue("property");
+    Depset sourceJars = (Depset) info.getValue("property");
 
     assertThat(prettyArtifactNames(sourceJars.getSet(Artifact.class)))
         .containsExactly(
@@ -1478,7 +1474,7 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//foo:extension.bzl", ImmutableMap.of()), "result"));
 
-    SkylarkNestedSet exports = (SkylarkNestedSet) (info.getValue("property"));
+    Depset exports = (Depset) info.getValue("property");
 
     assertThat(exports.getSet(Label.class))
         .containsExactly(Label.parseAbsolute("//foo:my_java_lib_b", ImmutableMap.of()));
@@ -2275,7 +2271,7 @@
     useConfiguration(
         "--javabase=//a:jvm", "--extra_toolchains=//a:all", "--platforms=//a:platform");
     ConfiguredTarget ct = getConfiguredTarget("//a:r");
-    SkylarkNestedSet files = (SkylarkNestedSet) ct.get("files");
+    Depset files = (Depset) ct.get("files");
     assertThat(prettyArtifactNames(files.toCollection(Artifact.class))).containsExactly("a/a.txt");
   }
 }
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProviderTest.java
index b612509..197af1d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProviderTest.java
@@ -25,7 +25,7 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
 import com.google.devtools.build.lib.rules.objc.ObjcProvider.Key;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.Root;
@@ -115,8 +115,7 @@
   public void directFieldsAddFromSkylark() throws Exception {
     ImmutableList<Artifact> artifacts =
         ImmutableList.of(createArtifact("/foo"), createArtifact("/bar"));
-    SkylarkNestedSet set =
-        SkylarkNestedSet.of(Artifact.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, artifacts));
+    Depset set = Depset.of(Artifact.class, NestedSetBuilder.wrap(Order.STABLE_ORDER, artifacts));
     ObjcProvider.Builder builder = objcProviderBuilder();
     builder.addElementsFromSkylark(ObjcProvider.SOURCE, set);
     builder.addElementsFromSkylark(ObjcProvider.HEADER, set);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
index a487583..8765086 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
@@ -30,8 +30,8 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.rules.apple.AppleToolchain;
 import com.google.devtools.build.lib.rules.apple.DottedVersion;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.List;
@@ -96,8 +96,8 @@
 
     ConfiguredTarget skylarkTarget = getConfiguredTarget("//examples/apple_skylark:my_target");
     StructImpl myInfo = getMyInfoFromTarget(skylarkTarget);
-    SkylarkNestedSet skylarkLibraries = (SkylarkNestedSet) myInfo.getValue("found_libs");
-    SkylarkNestedSet skylarkHdrs = (SkylarkNestedSet) myInfo.getValue("found_hdrs");
+    Depset skylarkLibraries = (Depset) myInfo.getValue("found_libs");
+    Depset skylarkHdrs = (Depset) myInfo.getValue("found_hdrs");
 
     assertThat(ActionsTestUtil.baseArtifactNames(skylarkLibraries.getSet(Artifact.class)))
         .contains("liblib.a");
@@ -137,7 +137,7 @@
 
     ConfiguredTarget skylarkTarget = getConfiguredTarget("//test:test");
     StructImpl myInfo = getMyInfoFromTarget(skylarkTarget);
-    SkylarkNestedSet defineSet = (SkylarkNestedSet) myInfo.getValue("define");
+    Depset defineSet = (Depset) myInfo.getValue("define");
 
     assertThat(defineSet.getSet(String.class)).containsExactly("mock_define");
   }
@@ -1089,8 +1089,7 @@
         "   srcs = ['a.m'],",
         ")");
     ConfiguredTarget skylarkTarget = getConfiguredTarget("//examples/apple_skylark:my_target");
-    SkylarkNestedSet emptyValue =
-        (SkylarkNestedSet) getMyInfoFromTarget(skylarkTarget).getValue("empty_value");
+    Depset emptyValue = (Depset) getMyInfoFromTarget(skylarkTarget).getValue("empty_value");
     assertThat(emptyValue.toCollection()).isEmpty();
   }
 
@@ -1127,8 +1126,7 @@
 
     ConfiguredTarget skylarkTarget = getConfiguredTarget("//examples/apple_skylark:my_target");
 
-    SkylarkNestedSet sdkFrameworks =
-        (SkylarkNestedSet) getMyInfoFromTarget(skylarkTarget).getValue("sdk_frameworks");
+    Depset sdkFrameworks = (Depset) getMyInfoFromTarget(skylarkTarget).getValue("sdk_frameworks");
     assertThat(sdkFrameworks.toCollection()).containsAtLeast("Accelerate", "GLKit");
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/rules/python/PyStructUtilsTest.java b/src/test/java/com/google/devtools/build/lib/rules/python/PyStructUtilsTest.java
index 8b141e8..c7c6aaa 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/python/PyStructUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/python/PyStructUtilsTest.java
@@ -26,8 +26,8 @@
 import com.google.devtools.build.lib.collect.nestedset.Order;
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.StructProvider;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.testutil.FoundationTestCase;
 import com.google.devtools.build.lib.testutil.MoreAsserts.ThrowingRunnable;
 import com.google.devtools.build.lib.vfs.Root;
@@ -64,11 +64,11 @@
     Map<String, Object> fields = new LinkedHashMap<>();
     fields.put(
         PyStructUtils.TRANSITIVE_SOURCES,
-        SkylarkNestedSet.of(Artifact.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER)));
+        Depset.of(Artifact.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER)));
     fields.put(PyStructUtils.USES_SHARED_LIBRARIES, false);
     fields.put(
         PyStructUtils.IMPORTS,
-        SkylarkNestedSet.of(String.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER)));
+        Depset.of(String.class, NestedSetBuilder.emptySet(Order.COMPILE_ORDER)));
     fields.put(PyStructUtils.HAS_PY2_ONLY_SOURCES, false);
     fields.put(PyStructUtils.HAS_PY3_ONLY_SOURCES, false);
     fields.putAll(overrides);
@@ -105,8 +105,7 @@
     NestedSet<Artifact> sources = NestedSetBuilder.create(Order.COMPILE_ORDER, dummyArtifact);
     StructImpl info =
         makeStruct(
-            ImmutableMap.of(
-                PyStructUtils.TRANSITIVE_SOURCES, SkylarkNestedSet.of(Artifact.class, sources)));
+            ImmutableMap.of(PyStructUtils.TRANSITIVE_SOURCES, Depset.of(Artifact.class, sources)));
     assertThat(PyStructUtils.getTransitiveSources(info)).isSameInstanceAs(sources);
   }
 
@@ -129,8 +128,7 @@
     NestedSet<Artifact> sources = NestedSetBuilder.emptySet(Order.NAIVE_LINK_ORDER);
     StructImpl info =
         makeStruct(
-            ImmutableMap.of(
-                PyStructUtils.TRANSITIVE_SOURCES, SkylarkNestedSet.of(Artifact.class, sources)));
+            ImmutableMap.of(PyStructUtils.TRANSITIVE_SOURCES, Depset.of(Artifact.class, sources)));
     assertThrowsEvalExceptionContaining(
         () -> PyStructUtils.getTransitiveSources(info),
         "Incompatible depset order for 'transitive_sources': expected 'default' or 'postorder', "
@@ -160,8 +158,7 @@
   public void getImports_Good() throws Exception {
     NestedSet<String> imports = NestedSetBuilder.create(Order.COMPILE_ORDER, "abc");
     StructImpl info =
-        makeStruct(
-            ImmutableMap.of(PyStructUtils.IMPORTS, SkylarkNestedSet.of(String.class, imports)));
+        makeStruct(ImmutableMap.of(PyStructUtils.IMPORTS, Depset.of(String.class, imports)));
     assertThat(PyStructUtils.getImports(info)).isSameInstanceAs(imports);
   }
 
@@ -231,12 +228,12 @@
     // Assert using struct operations, not PyStructUtils accessors, which aren't necessarily trusted
     // to be correct.
     assertHasOrderAndContainsExactly(
-        ((SkylarkNestedSet) info.getValue(PyStructUtils.TRANSITIVE_SOURCES)).getSet(Artifact.class),
+        ((Depset) info.getValue(PyStructUtils.TRANSITIVE_SOURCES)).getSet(Artifact.class),
         Order.COMPILE_ORDER,
         dummyArtifact);
     assertThat((Boolean) info.getValue(PyStructUtils.USES_SHARED_LIBRARIES)).isTrue();
     assertHasOrderAndContainsExactly(
-        ((SkylarkNestedSet) info.getValue(PyStructUtils.IMPORTS)).getSet(String.class),
+        ((Depset) info.getValue(PyStructUtils.IMPORTS)).getSet(String.class),
         Order.COMPILE_ORDER,
         "abc");
     assertThat((Boolean) info.getValue(PyStructUtils.HAS_PY2_ONLY_SOURCES)).isTrue();
@@ -253,8 +250,7 @@
     // to be correct.
     assertThat((Boolean) info.getValue(PyStructUtils.USES_SHARED_LIBRARIES)).isFalse();
     assertHasOrderAndContainsExactly(
-        ((SkylarkNestedSet) info.getValue(PyStructUtils.IMPORTS)).getSet(String.class),
-        Order.COMPILE_ORDER);
+        ((Depset) info.getValue(PyStructUtils.IMPORTS)).getSet(String.class), Order.COMPILE_ORDER);
     assertThat((Boolean) info.getValue(PyStructUtils.HAS_PY2_ONLY_SOURCES)).isFalse();
     assertThat((Boolean) info.getValue(PyStructUtils.HAS_PY3_ONLY_SOURCES)).isFalse();
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/trimming/TrimmableTestConfigurationFragments.java b/src/test/java/com/google/devtools/build/lib/skyframe/trimming/TrimmableTestConfigurationFragments.java
index 783b58b..c68f367 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/trimming/TrimmableTestConfigurationFragments.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/trimming/TrimmableTestConfigurationFragments.java
@@ -61,9 +61,9 @@
 import com.google.devtools.build.lib.rules.repository.WorkspaceBaseRule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.testutil.Scratch;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.common.options.Option;
@@ -679,8 +679,8 @@
           ToolchainInfo toolchainInfo = toolchainContext.forToolchainType(toolchainType);
           try {
             filesToBuild.addTransitive(
-                ((SkylarkNestedSet) toolchainInfo.getValue("files")).getSet(Artifact.class));
-          } catch (EvalException | SkylarkNestedSet.TypeException ex) {
+                ((Depset) toolchainInfo.getValue("files")).getSet(Artifact.class));
+          } catch (EvalException | Depset.TypeException ex) {
             throw new AssertionError(ex);
           }
         }
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
index 5314287..12f75ae 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
@@ -45,8 +45,8 @@
 import com.google.devtools.build.lib.rules.java.JavaConfiguration;
 import com.google.devtools.build.lib.rules.objc.ObjcProtoProvider;
 import com.google.devtools.build.lib.skyframe.AspectValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import java.util.Arrays;
 import org.junit.Before;
@@ -292,18 +292,18 @@
     ConfiguredAspect configuredAspect = aspectValue.getConfiguredAspect();
     assertThat(configuredAspect).isNotNull();
     Object names = configuredAspect.get("target_labels");
-    assertThat(names).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(names).isInstanceOf(Depset.class);
     assertThat(
             transform(
-                ((SkylarkNestedSet) names).toCollection(),
+                ((Depset) names).toCollection(),
                 o -> {
                   assertThat(o).isInstanceOf(Label.class);
                   return o.toString();
                 }))
         .containsExactly("//test:xxx", "//test:yyy");
     Object ruleKinds = configuredAspect.get("rule_kinds");
-    assertThat(ruleKinds).isInstanceOf(SkylarkNestedSet.class);
-    assertThat(((SkylarkNestedSet) ruleKinds).toCollection()).containsExactly("java_library");
+    assertThat(ruleKinds).isInstanceOf(Depset.class);
+    assertThat(((Depset) ruleKinds).toCollection()).containsExactly("java_library");
   }
 
   @Test
@@ -349,12 +349,14 @@
     ConfiguredAspect configuredAspect = aspectValue.getConfiguredAspect();
     assertThat(configuredAspect).isNotNull();
     Object nameSet = configuredAspect.get("target_labels");
-    ImmutableList<String> names = ImmutableList.copyOf(transform(
-        ((SkylarkNestedSet) nameSet).toCollection(),
-        o -> {
-          assertThat(o).isInstanceOf(Label.class);
-          return ((Label) o).getName();
-        }));
+    ImmutableList<String> names =
+        ImmutableList.copyOf(
+            transform(
+                ((Depset) nameSet).toCollection(),
+                o -> {
+                  assertThat(o).isInstanceOf(Label.class);
+                  return ((Label) o).getName();
+                }));
 
     assertThat(names).containsAtLeast("xxx", "yyy");
     // Third is the C++ toolchain; its name changes between Blaze and Bazel.
@@ -594,10 +596,10 @@
     assertThat(getLabelsToBuild(analysisResult)).containsExactly("//test:xxx");
     ConfiguredTarget target = analysisResult.getTargetsToBuild().iterator().next();
     Object names = target.get("rule_deps");
-    assertThat(names).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(names).isInstanceOf(Depset.class);
     assertThat(
             transform(
-                ((SkylarkNestedSet) names).toCollection(),
+                ((Depset) names).toCollection(),
                 o -> {
                   assertThat(o).isInstanceOf(Label.class);
                   return o.toString();
@@ -1640,7 +1642,7 @@
   private void buildTargetAndCheckRuleInfo(String... expectedLabels) throws Exception {
     AnalysisResult result = update(ImmutableList.<String>of(), "//test:r2");
     ConfiguredTarget configuredTarget = result.getTargetsToBuild().iterator().next();
-    SkylarkNestedSet ruleInfoValue = (SkylarkNestedSet) configuredTarget.get("rule_info");
+    Depset ruleInfoValue = (Depset) configuredTarget.get("rule_info");
     assertThat(ruleInfoValue.getSet(String.class))
         .containsExactlyElementsIn(Arrays.asList(expectedLabels));
   }
@@ -1712,8 +1714,7 @@
         "main_rule(name = 'main', deps = [':rbin', ':rgen'])");
     AnalysisResult analysisResult = update(ImmutableList.<String>of(), "//foo:main");
     ConfiguredTarget target = analysisResult.getTargetsToBuild().iterator().next();
-    NestedSet<Artifact> aspectFiles =
-        ((SkylarkNestedSet) target.get("aspect_files")).getSet(Artifact.class);
+    NestedSet<Artifact> aspectFiles = ((Depset) target.get("aspect_files")).getSet(Artifact.class);
     assertThat(transform(aspectFiles, Artifact::getFilename))
         .containsExactly("aspect-output-rbin", "aspect-output-rgen");
     for (Artifact aspectFile : aspectFiles) {
@@ -1900,10 +1901,10 @@
     ConfiguredAspect configuredAspect = aspectValue.getConfiguredAspect();
     assertThat(configuredAspect).isNotNull();
     Object names = configuredAspect.get("target_labels");
-    assertThat(names).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(names).isInstanceOf(Depset.class);
     assertThat(
             transform(
-                ((SkylarkNestedSet) names).toCollection(),
+                ((Depset) names).toCollection(),
                 o -> {
                   assertThat(o).isInstanceOf(Label.class);
                   return ((Label) o).getName();
@@ -2582,7 +2583,7 @@
     SkylarkKey pCollector =
         new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl", ImmutableMap.of()), "PCollector");
     StructImpl collector = (StructImpl) configuredAspect.get(pCollector);
-    assertThat(((SkylarkNestedSet) collector.getValue("visited")).toCollection())
+    assertThat(((Depset) collector.getValue("visited")).toCollection())
         .containsExactly(
             Label.parseAbsolute("//test:referenced_from_aspect_only", ImmutableMap.of()),
             Label.parseAbsolute("//test:bar", ImmutableMap.of()),
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 433b989..91c8041 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -55,8 +55,8 @@
 import com.google.devtools.build.lib.skyframe.PackageFunction;
 import com.google.devtools.build.lib.skyframe.SkyFunctions;
 import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
@@ -228,7 +228,7 @@
         OutputGroupInfo.get(getConfiguredTarget("//test/skylark:lib"))
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
-    SkylarkNestedSet result = (SkylarkNestedSet) getMyInfoFromTarget(myTarget).getValue("result");
+    Depset result = (Depset) getMyInfoFromTarget(myTarget).getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -254,7 +254,7 @@
         OutputGroupInfo.get(getConfiguredTarget("//test/skylark:lib"))
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
-    SkylarkNestedSet result = (SkylarkNestedSet) getMyInfoFromTarget(myTarget).getValue("result");
+    Depset result = (Depset) getMyInfoFromTarget(myTarget).getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -288,7 +288,7 @@
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
     StructImpl myInfo = getMyInfoFromTarget(myTarget);
-    SkylarkNestedSet result = (SkylarkNestedSet) myInfo.getValue("result");
+    Depset result = (Depset) myInfo.getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -322,7 +322,7 @@
         OutputGroupInfo.get(getConfiguredTarget("//test/skylark:lib"))
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
-    SkylarkNestedSet result = (SkylarkNestedSet) getMyInfoFromTarget(myTarget).getValue("result");
+    Depset result = (Depset) getMyInfoFromTarget(myTarget).getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -351,7 +351,7 @@
         OutputGroupInfo.get(getConfiguredTarget("//test/skylark:lib"))
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
-    SkylarkNestedSet result = (SkylarkNestedSet) getMyInfoFromTarget(myTarget).getValue("result");
+    Depset result = (Depset) getMyInfoFromTarget(myTarget).getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -380,7 +380,7 @@
         OutputGroupInfo.get(getConfiguredTarget("//test/skylark:lib"))
             .getOutputGroup(OutputGroupInfo.HIDDEN_TOP_LEVEL);
     ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
-    SkylarkNestedSet result = (SkylarkNestedSet) getMyInfoFromTarget(myTarget).getValue("result");
+    Depset result = (Depset) getMyInfoFromTarget(myTarget).getValue("result");
     assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
     assertThat(OutputGroupInfo.get(myTarget).getOutputGroup("my_group"))
         .containsExactlyElementsIn(hiddenTopLevelArtifacts);
@@ -834,7 +834,7 @@
 
     assertThat(
             ActionsTestUtil.baseArtifactNames(
-                ((SkylarkNestedSet) getMyInfoFromTarget(target).getValue("provider_key"))
+                ((Depset) getMyInfoFromTarget(target).getValue("provider_key"))
                     .getSet(Artifact.class)))
         .containsExactly("a.txt");
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index ad00cd9..9d650c2 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -47,12 +47,12 @@
 import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction;
 import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
 import com.google.devtools.build.lib.syntax.ClassObject;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.ParserInput;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkFile;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.SyntaxError;
@@ -1260,7 +1260,7 @@
   @Test
   public void testNsetGoodCompositeItem() throws Exception {
     exec("def func():", "  return depset([struct(a='a')])", "s = func()");
-    Collection<?> result = ((SkylarkNestedSet) lookup("s")).toCollection();
+    Collection<?> result = ((Depset) lookup("s")).toCollection();
     assertThat(result).hasSize(1);
     assertThat(result.iterator().next()).isInstanceOf(StructImpl.class);
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
index fb134dd..83b6949 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -47,10 +47,10 @@
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 import com.google.devtools.build.lib.rules.python.PyProviderUtils;
 import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
@@ -1924,8 +1924,8 @@
     update("action1", eval("ruleContext.attr.dep[Actions].by_file[file1]"));
     update("action2", eval("ruleContext.attr.dep[Actions].by_file[file2]"));
 
-    assertThat(eval("action1.inputs")).isInstanceOf(SkylarkNestedSet.class);
-    assertThat(eval("action1.outputs")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(eval("action1.inputs")).isInstanceOf(Depset.class);
+    assertThat(eval("action1.outputs")).isInstanceOf(Depset.class);
 
     assertThat(eval("action1.argv")).isEqualTo(Starlark.NONE);
     assertThat(eval("action2.content")).isEqualTo(Starlark.NONE);
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
index 83d6fec..e6615d0 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
@@ -58,11 +58,11 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -750,7 +750,7 @@
         "    executable = 'dummy',",
         ")");
     assertArtifactFilenames(
-        ((SkylarkNestedSet) lookup("inputs")).getSet(Artifact.class),
+        ((Depset) lookup("inputs")).getSet(Artifact.class),
         "mytool.sh",
         "mytool",
         "foo_Smytool" + OsUtils.executableExtension() + "-runfiles",
@@ -992,7 +992,7 @@
   public void testFilesForRuleConfiguredTarget() throws Exception {
     setRuleContext(createRuleContext("//foo:foo"));
     Object result = eval("ruleContext.attr.srcs[0].files");
-    assertThat(ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class)))
+    assertThat(ActionsTestUtil.baseNamesOf(((Depset) result).getSet(Artifact.class)))
         .isEqualTo("a.txt");
   }
 
@@ -1072,7 +1072,7 @@
         .containsExactly(
             "File:[/workspace[source]]test/run.file", "File:[/workspace[source]]test/run2.file");
 
-    assertThat(myInfo.getValue("rule_files")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(myInfo.getValue("rule_files")).isInstanceOf(Depset.class);
     assertThat(myInfo.getValue("rule_files_to_run")).isInstanceOf(FilesToRunProvider.class);
     assertThat(myInfo.getValue("rule_file_executable")).isEqualTo(Starlark.NONE);
   }
@@ -1152,7 +1152,7 @@
         .containsExactly(
             "File:[/workspace[source]]test/run.file", "File:[/workspace[source]]test/run2.file");
 
-    assertThat(myInfo.getValue("rule_files")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(myInfo.getValue("rule_files")).isInstanceOf(Depset.class);
     assertThat(myInfo.getValue("rule_files_to_run")).isInstanceOf(FilesToRunProvider.class);
   }
 
@@ -1243,7 +1243,7 @@
                 String::valueOf))
         .isEmpty();
 
-    assertThat(myInfo.getValue("file_files")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(myInfo.getValue("file_files")).isInstanceOf(Depset.class);
     assertThat(myInfo.getValue("file_files_to_run")).isInstanceOf(FilesToRunProvider.class);
   }
 
@@ -1796,7 +1796,7 @@
   public void testFilesForFileConfiguredTarget() throws Exception {
     setRuleContext(createRuleContext("//foo:bar"));
     Object result = eval("ruleContext.attr.srcs[0].files");
-    assertThat(ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class)))
+    assertThat(ActionsTestUtil.baseNamesOf(((Depset) result).getSet(Artifact.class)))
         .isEqualTo("libjl.jar");
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerializationTest.java b/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerializationTest.java
index 4570ccb..74707f3 100644
--- a/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerializationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/DebuggerSerializationTest.java
@@ -26,9 +26,9 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -61,8 +61,7 @@
   @Test
   public void testSimpleNestedSet() {
     Set<String> children = ImmutableSet.of("a", "b");
-    SkylarkNestedSet set =
-        SkylarkNestedSet.of(Object.class, NestedSetBuilder.stableOrder().addAll(children).build());
+    Depset set = Depset.of(Object.class, NestedSetBuilder.stableOrder().addAll(children).build());
 
     Value value = getValueProto("name", set);
 
@@ -89,8 +88,8 @@
     NestedSet<String> innerNestedSet =
         NestedSetBuilder.<String>stableOrder().add("inner1").add("inner2").build();
     ImmutableSet<String> directChildren = ImmutableSet.of("a", "b");
-    SkylarkNestedSet outerSet =
-        SkylarkNestedSet.of(
+    Depset outerSet =
+        Depset.of(
             String.class,
             NestedSetBuilder.<String>linkOrder()
                 .addAll(directChildren)
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java b/src/test/java/com/google/devtools/build/lib/syntax/DepsetTest.java
similarity index 88%
rename from src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java
rename to src/test/java/com/google/devtools/build/lib/syntax/DepsetTest.java
index ea49524..1047dbd 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/DepsetTest.java
@@ -28,16 +28,14 @@
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
-/**
- * Tests for SkylarkNestedSet.
- */
+/** Tests for Depset. */
 @RunWith(JUnit4.class)
-public class SkylarkNestedSetTest extends EvaluationTestCase {
+public class DepsetTest extends EvaluationTestCase {
 
   @Test
   public void testConstructor() throws Exception {
     exec("s = depset(order='default')");
-    assertThat(lookup("s")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(lookup("s")).isInstanceOf(Depset.class);
   }
 
   @Test
@@ -72,7 +70,7 @@
     exec("s = depset(['a', 'b'])");
     assertThat(get("s").getSet(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").getSet(Object.class)).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").getSet(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").getSet(Integer.class));
   }
 
   @Test
@@ -80,7 +78,7 @@
     exec("s = depset(direct = ['a', 'b'])");
     assertThat(get("s").getSet(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").getSet(Object.class)).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").getSet(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").getSet(Integer.class));
   }
 
   @Test
@@ -88,7 +86,7 @@
     exec("s = depset(items = ['a', 'b'])");
     assertThat(get("s").getSet(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").getSet(Object.class)).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").getSet(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").getSet(Integer.class));
   }
 
 
@@ -98,7 +96,7 @@
     assertThat(get("s").toCollection(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection(Object.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection()).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").toCollection(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").toCollection(Integer.class));
   }
 
   @Test
@@ -107,7 +105,7 @@
     assertThat(get("s").toCollection(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection(Object.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection()).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").toCollection(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").toCollection(Integer.class));
   }
 
   @Test
@@ -116,7 +114,7 @@
     assertThat(get("s").toCollection(String.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection(Object.class)).containsExactly("a", "b").inOrder();
     assertThat(get("s").toCollection()).containsExactly("a", "b").inOrder();
-    assertThrows(SkylarkNestedSet.TypeException.class, () -> get("s").toCollection(Integer.class));
+    assertThrows(Depset.TypeException.class, () -> get("s").toCollection(Integer.class));
   }
 
   @Test
@@ -316,7 +314,7 @@
 
   private void assertContainsInOrder(String statement, Object... expectedElements)
       throws Exception {
-    assertThat(((SkylarkNestedSet) eval(statement)).toCollection())
+    assertThat(((Depset) eval(statement)).toCollection())
         .containsExactly(expectedElements)
         .inOrder();
   }
@@ -369,7 +367,7 @@
         "  s2 = s1.union(['b'])",
         "  return s1",
         "s = func()");
-    assertThat(((SkylarkNestedSet) lookup("s")).toCollection()).isEqualTo(ImmutableList.of("a"));
+    assertThat(((Depset) lookup("s")).toCollection()).isEqualTo(ImmutableList.of("a"));
   }
 
   @Test
@@ -381,7 +379,7 @@
         "  t += ['a']",
         "  return t",
         "s = func()");
-    assertThat(get("s")).isInstanceOf(SkylarkNestedSet.class);
+    assertThat(get("s")).isInstanceOf(Depset.class);
     assertThat(get("s").toCollection()).containsExactly("a");
   }
 
@@ -473,9 +471,8 @@
     assertThat(lookup("x")).isEqualTo("depset([2, 4, 6, 3, 5], order = \"topological\")");
   }
 
-  @SuppressWarnings("unchecked")
-  private SkylarkNestedSet get(String varname) throws Exception {
-    return (SkylarkNestedSet) lookup(varname);
+  private Depset get(String varname) throws Exception {
+    return (Depset) lookup(varname);
   }
 
   @Test
@@ -496,15 +493,15 @@
     //  (b) at least one order is "default"
 
     for (Order first : Order.values()) {
-      SkylarkNestedSet s1 = SkylarkNestedSet.of(first, Tuple.of("1", "11"), null);
+      Depset s1 = Depset.of(first, Tuple.of("1", "11"), null);
 
       for (Order second : Order.values()) {
-        SkylarkNestedSet s2 = SkylarkNestedSet.of(second, Tuple.of("2", "22"), null);
+        Depset s2 = Depset.of(second, Tuple.of("2", "22"), null);
 
         boolean compatible = true;
 
         try {
-          SkylarkNestedSet.of(s1, s2, null);
+          Depset.of(s1, s2, null);
         } catch (Exception ex) {
           compatible = false;
         }
@@ -527,10 +524,10 @@
     MergeStrategy strategy =
         new MergeStrategy() {
           @Override
-          public SkylarkNestedSet merge(SkylarkNestedSet[] sets) throws Exception {
-            SkylarkNestedSet union = SkylarkNestedSet.of(sets[0], sets[1], null);
-            union = SkylarkNestedSet.of(union, sets[2], null);
-            union = SkylarkNestedSet.of(union, sets[3], null);
+          public Depset merge(Depset[] sets) throws Exception {
+            Depset union = Depset.of(sets[0], sets[1], null);
+            union = Depset.of(union, sets[2], null);
+            union = Depset.of(union, sets[3], null);
 
             return union;
           }
@@ -548,10 +545,10 @@
     MergeStrategy strategy =
         new MergeStrategy() {
           @Override
-          public SkylarkNestedSet merge(SkylarkNestedSet[] sets) throws Exception {
-            SkylarkNestedSet leftUnion = SkylarkNestedSet.of(sets[0], sets[1], null);
-            SkylarkNestedSet rightUnion = SkylarkNestedSet.of(sets[2], sets[3], null);
-            SkylarkNestedSet union = SkylarkNestedSet.of(leftUnion, rightUnion, null);
+          public Depset merge(Depset[] sets) throws Exception {
+            Depset leftUnion = Depset.of(sets[0], sets[1], null);
+            Depset rightUnion = Depset.of(sets[2], sets[3], null);
+            Depset union = Depset.of(leftUnion, rightUnion, null);
 
             return union;
           }
@@ -569,10 +566,10 @@
     MergeStrategy strategy =
         new MergeStrategy() {
           @Override
-          public SkylarkNestedSet merge(SkylarkNestedSet[] sets) throws Exception {
-            SkylarkNestedSet union = SkylarkNestedSet.of(sets[2], sets[3], null);
-            union = SkylarkNestedSet.of(sets[1], union, null);
-            union = SkylarkNestedSet.of(sets[0], union, null);
+          public Depset merge(Depset[] sets) throws Exception {
+            Depset union = Depset.of(sets[2], sets[3], null);
+            union = Depset.of(sets[1], union, null);
+            union = Depset.of(sets[0], union, null);
 
             return union;
           }
@@ -598,14 +595,14 @@
   }
 
   private interface MergeStrategy {
-    SkylarkNestedSet merge(SkylarkNestedSet[] sets) throws Exception;
+    Depset merge(Depset[] sets) throws Exception;
   }
 
   private void runComplexOrderTest(
       MergeStrategy strategy, List<String> preOrder, List<String> postOrder) throws Exception {
     Map<Order, List<String>> expected = createExpectedMap(preOrder, postOrder);
     for (Order order : Order.values()) {
-      SkylarkNestedSet union = strategy.merge(makeFourSets(order));
+      Depset union = strategy.merge(makeFourSets(order));
       assertThat(union.toCollection()).containsExactlyElementsIn(expected.get(order)).inOrder();
     }
   }
@@ -625,12 +622,12 @@
     return order == Order.STABLE_ORDER || order == Order.COMPILE_ORDER;
   }
 
-  private SkylarkNestedSet[] makeFourSets(Order order) throws Exception {
-    return new SkylarkNestedSet[] {
-      SkylarkNestedSet.of(order, Tuple.of("1", "11"), null),
-      SkylarkNestedSet.of(order, Tuple.of("2", "22"), null),
-      SkylarkNestedSet.of(order, Tuple.of("3", "33"), null),
-      SkylarkNestedSet.of(order, Tuple.of("4", "44"), null)
+  private Depset[] makeFourSets(Order order) throws Exception {
+    return new Depset[] {
+      Depset.of(order, Tuple.of("1", "11"), null),
+      Depset.of(order, Tuple.of("2", "22"), null),
+      Depset.of(order, Tuple.of("3", "33"), null),
+      Depset.of(order, Tuple.of("4", "44"), null)
     };
   }
 }