bazel: rename SkylarkValue

This change moves skylarkinterface.SkylarkValue to syntax.StarlarkValue,
and also skylarkinterface.SkylarkPrinter to syntax.Printer, where its
functionality is merged into the existing class of that name.

This change is entirely mechanical, except for syntax.Printer (naturally),
and MethodLibrary and SkylarkEvaluationTest, which needed a tweak
due the removal of the Printer.debugPrint static method.

All classes related to the representation of values are now in the evaluator package;
skylarkinterface now contains only the annotations.

This is a breaking change for copybara.

BEGIN_PUBLIC
bazel: rename SkylarkValue
END_PUBLIC
PiperOrigin-RevId: 282410278
diff --git a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java
index 8cad380..44863ac 100644
--- a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java
+++ b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 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.CallUtils;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.lang.reflect.Method;
 import java.util.Map;
 import java.util.TreeMap;
@@ -39,7 +39,7 @@
       title = "Globals",
       category = SkylarkModuleCategory.TOP_LEVEL_TYPE,
       doc = "Objects, functions and modules registered in the global environment.")
-  private static final class TopLevelModule implements SkylarkValue {}
+  private static final class TopLevelModule implements StarlarkValue {}
 
   private SkylarkDocumentationCollector() {}
 
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 0aa4b19..0cfed4a 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
@@ -33,10 +33,10 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.vfs.Path;
 import com.google.devtools.build.lib.vfs.Root;
@@ -336,7 +336,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append(prettyPrint()); // TODO(bazel-team): implement a readable representation
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
index 34ef448..064a4df 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
@@ -40,7 +40,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.vfs.Path;
@@ -1079,7 +1079,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     if (isSourceArtifact()) {
       printer.append("<source file " + getRootRelativePathString() + ">");
     } else {
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.java
index 272513e..22abaf9 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactRoot.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.FileRootApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.vfs.Path;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.Root;
@@ -191,7 +191,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append(isSourceRoot() ? "<source root>" : "<derived root>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/actions/CommandLineItem.java b/src/main/java/com/google/devtools/build/lib/actions/CommandLineItem.java
index 351c810..070f41f 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/CommandLineItem.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/CommandLineItem.java
@@ -79,15 +79,16 @@
     // SkylarkCustomCommandLine, since toString() does not necessarily give the same results as
     // Skylark's str() or repr().
     //
-    // The ideal refactoring is to make SkylarkValue implement CommandLineItem (or a slimmer version
-    // thereof). Then the default behavior can be that SkylarkValue#expandToCommandLine calls
-    // SkylarkValue#str. This default behavior is inefficient but rare; Artifacts and the like
+    // The ideal refactoring is to make StarlarkValue implement CommandLineItem (or a slimmer
+    // version
+    // thereof). Then the default behavior can be that StarlarkValue#expandToCommandLine calls
+    // StarlarkValue#str. This default behavior is inefficient but rare; Artifacts and the like
     // would continue to override expandToCommandLine to take the fast code path that doesn't
     // involve a Printer.
     //
-    // Since SkylarkValue should be moved out of Bazel, this refactoring would be blocked on making
-    // a BuildSkylarkValue subinterface for Bazel-specific Skylark types. It would then be
-    // BuildSkylarkValue, rather than SkylarkValue, that extends CommandLineItem.
+    // Since StarlarkValue should be moved out of Bazel, this refactoring would be blocked on making
+    // a BuildStarlarkValue subinterface for Bazel-specific Skylark types. It would then be
+    // BuildStarlarkValue, rather than StarlarkValue, that extends CommandLineItem.
     if (object instanceof CommandLineItem) {
       return ((CommandLineItem) object).expandToCommandLine();
     } else {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
index 862edb5..80553e6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
@@ -18,22 +18,21 @@
 import com.google.devtools.build.lib.actions.Artifact.SourceArtifact;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
 import com.google.devtools.build.lib.packages.Target;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /**
- * A {@link ConfiguredTarget} is conceptually a {@link TransitiveInfoCollection} coupled
- * with the {@link Target} and {@link BuildConfiguration} objects it was created from.
+ * A {@link ConfiguredTarget} is conceptually a {@link TransitiveInfoCollection} coupled with the
+ * {@link Target} and {@link BuildConfiguration} objects it was created from.
  *
- * <p>This interface is supposed to only be used in {@link BuildView} and above. In particular,
- * rule implementations should not be able to access the {@link ConfiguredTarget} objects
- * associated with their direct dependencies, only the corresponding
- * {@link TransitiveInfoCollection}s. Also, {@link ConfiguredTarget} objects should not be
- * accessible from the action graph.
+ * <p>This interface is supposed to only be used in {@link BuildView} and above. In particular, rule
+ * implementations should not be able to access the {@link ConfiguredTarget} objects associated with
+ * their direct dependencies, only the corresponding {@link TransitiveInfoCollection}s. Also, {@link
+ * ConfiguredTarget} objects should not be accessible from the action graph.
  */
-public interface ConfiguredTarget extends TransitiveInfoCollection, ClassObject, SkylarkValue {
+public interface ConfiguredTarget extends TransitiveInfoCollection, ClassObject, StarlarkValue {
 
   /**
    *  All <code>ConfiguredTarget</code>s have a "label" field.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ResolvedToolchainContext.java b/src/main/java/com/google/devtools/build/lib/analysis/ResolvedToolchainContext.java
index 4f26eae..bdc7d2c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ResolvedToolchainContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ResolvedToolchainContext.java
@@ -33,9 +33,9 @@
 import com.google.devtools.build.lib.skyframe.ToolchainException;
 import com.google.devtools.build.lib.skyframe.UnloadedToolchainContext;
 import com.google.devtools.build.lib.skylarkbuildapi.ToolchainContextApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 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 javax.annotation.Nullable;
 
 /**
@@ -146,7 +146,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<toolchain_context.resolved_labels: ");
     printer.append(
         toolchains().keySet().stream()
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 e9dc72a..a5773ac 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
@@ -38,8 +38,8 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 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.Depset;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.util.Fingerprint;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -148,7 +148,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("SymlinkEntry(path = ");
       printer.repr(getPathString());
       printer.append(", target_file = ");
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkDefinedConfigTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkDefinedConfigTransition.java
index 8ed672e..a239a22 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkDefinedConfigTransition.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkDefinedConfigTransition.java
@@ -21,11 +21,11 @@
 import com.google.devtools.build.lib.packages.BazelStarlarkContext;
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.skylarkbuildapi.config.ConfigurationTransitionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Mutability;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -139,7 +139,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<analysis_test_transition object>");
     }
 
@@ -268,7 +268,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<transition object>");
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
index 9e982e1..71330b8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
@@ -35,9 +35,9 @@
 import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
 import com.google.devtools.build.lib.packages.Provider;
 import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 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.SkylarkClassObject;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -260,7 +260,7 @@
   // All main target classes must override this method to provide more descriptive strings.
   // Exceptions are currently EnvironmentGroupConfiguredTarget and PackageGroupConfiguredTarget.
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<unknown target " + getLabel() + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/InputFileConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/InputFileConfiguredTarget.java
index e4275a0..c5d04f1 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/InputFileConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/InputFileConfiguredTarget.java
@@ -28,8 +28,8 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator;
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.Objects;
 
 /**
@@ -39,7 +39,7 @@
  * here and is always set to <b>null</b>.
  */
 @AutoCodec
-public final class InputFileConfiguredTarget extends FileConfiguredTarget implements SkylarkValue {
+public final class InputFileConfiguredTarget extends FileConfiguredTarget implements StarlarkValue {
   private final SourceArtifact artifact;
   private final NestedSet<TargetLicense> licenses;
 
@@ -96,7 +96,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<input file target " + getLabel() + ">");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
index dfae3b1..0fcc28a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
@@ -30,7 +30,7 @@
 import com.google.devtools.build.lib.packages.Provider;
 import com.google.devtools.build.lib.packages.Provider.Key;
 import com.google.devtools.build.lib.skylarkbuildapi.ActionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Consumer;
@@ -225,7 +225,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<merged target " + getLabel() + ">");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java
index 6bf24e2..8e73a21 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.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.Instantiator;
 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.Printer;
 
 /** A ConfiguredTarget for an OutputFile. */
 @AutoCodec
@@ -124,7 +124,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<output file target " + getLabel() + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
index 06a3f2d..86d8f9b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
@@ -48,7 +48,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.skylarkbuildapi.ActionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.function.Consumer;
 import javax.annotation.Nullable;
@@ -233,12 +233,12 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<target " + getLabel() + ">");
   }
 
   @Override
-  public void debugPrint(SkylarkPrinter printer) {
+  public void debugPrint(Printer printer) {
     // Show the names of the provider keys that this target propagates.
     // Provider key names might potentially be *private* information, and thus a comprehensive
     // list of provider keys should not be exposed in any way other than for debug information.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintCollection.java
index da73061..049f573 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintCollection.java
@@ -33,9 +33,9 @@
 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.platform.ConstraintCollectionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 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.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
@@ -253,7 +253,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<");
     if (parent() != null) {
       printer.append("parent: ");
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java
index 459dba4..f784467 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java
@@ -23,7 +23,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.platform.ConstraintSettingInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.util.Fingerprint;
 import javax.annotation.Nullable;
 
@@ -89,7 +89,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format("ConstraintSettingInfo(%s", label.toString());
     if (defaultConstraintValueLabel != null) {
       printer.format(", default_constraint_value=%s", defaultConstraintValueLabel.toString());
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java
index bc1f1ca..40856c4 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java
@@ -22,7 +22,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.platform.ConstraintValueInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.util.Fingerprint;
 import java.util.Objects;
 
@@ -59,7 +59,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format(
         "ConstraintValueInfo(setting=%s, %s)", constraint.label().toString(), label.toString());
   }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java
index 1d09ae7..d8ccda7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java
@@ -25,7 +25,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.platform.PlatformInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.util.Fingerprint;
 import com.google.devtools.build.lib.util.StringUtilities;
 import java.util.HashMap;
@@ -96,7 +96,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format("PlatformInfo(%s, constraints=%s)", label.toString(), constraints.toString());
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainTypeInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainTypeInfo.java
index 7ddab0b..702d582 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainTypeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainTypeInfo.java
@@ -22,7 +22,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.platform.ToolchainTypeInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.Objects;
 
 /** A provider that supplies information about a specific toolchain type. */
@@ -59,7 +59,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format("ToolchainTypeInfo(%s)", typeLabel);
   }
 
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 e659a59..913c52d 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
@@ -28,12 +28,12 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.events.Location;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkMutable;
@@ -61,12 +61,12 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("context.args() object");
   }
 
   @Override
-  public void debugPrint(SkylarkPrinter printer) {
+  public void debugPrint(Printer printer) {
     try {
       printer.append(Joiner.on(" ").join(build().arguments()));
     } catch (CommandLineExpansionException e) {
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 d4c3220..21ded23 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
@@ -50,11 +50,11 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -697,7 +697,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("actions for");
     context.repr(printer);
   }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
index acfa1a0..e7ef9b6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
@@ -44,11 +44,11 @@
 import com.google.devtools.build.lib.packages.Type.LabelClass;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAttrApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 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.FuncallExpression;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
@@ -444,7 +444,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<attr>");
   }
 
@@ -854,7 +854,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<attr." + name + ">");
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
index b6193a1..cb81e4e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
@@ -27,8 +27,8 @@
 import com.google.devtools.build.lib.packages.Type;
 import com.google.devtools.build.lib.packages.Type.LabelClass;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAttributesCollectionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import java.util.HashSet;
@@ -122,7 +122,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<rule collection for " + skylarkRuleContext.getRuleLabelCanonicalName() + ">");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
index ea3b4b1..059ed3c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
@@ -36,10 +36,10 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.FileRootApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Mutability;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -1006,7 +1006,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       if (isSourceArtifact()) {
         printer.append("<source file " + getRunfilesPathString() + ">");
       } else {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java
index 8c26b50..bbffd24 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java
@@ -29,7 +29,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.LateBoundDefaultApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.Map;
@@ -121,7 +121,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format("<late-bound default>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
index f082f27..cc7e2c5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
@@ -79,7 +79,6 @@
 import com.google.devtools.build.lib.packages.Type.ConversionException;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleFunctionsApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
@@ -87,6 +86,7 @@
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Identifier;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
@@ -787,7 +787,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<rule>");
     }
   }
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 1065f81..242073c 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
@@ -49,7 +49,6 @@
 import com.google.devtools.build.lib.packages.StructProvider;
 import com.google.devtools.build.lib.packages.TargetUtils;
 import com.google.devtools.build.lib.packages.Type;
-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;
@@ -62,6 +61,7 @@
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -237,11 +237,11 @@
   private static void addOutputGroups(Object value, Location loc,
       RuleConfiguredTargetBuilder builder)
       throws EvalException {
-    Map<String, SkylarkValue> outputGroups =
-        SkylarkType.castMap(value, String.class, SkylarkValue.class, "output_groups");
+    Map<String, StarlarkValue> outputGroups =
+        SkylarkType.castMap(value, String.class, StarlarkValue.class, "output_groups");
 
     for (String outputGroup : outputGroups.keySet()) {
-      SkylarkValue objects = outputGroups.get(outputGroup);
+      StarlarkValue objects = outputGroups.get(outputGroup);
       NestedSet<Artifact> artifacts = convertToOutputGroupValue(loc, outputGroup, objects);
       builder.addOutputGroup(outputGroup, artifacts);
     }
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 c175365..9b8794f 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
@@ -74,20 +74,20 @@
 import com.google.devtools.build.lib.shell.ShellUtils.TokenizationException;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi;
-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;
 import com.google.devtools.build.lib.syntax.NoneType;
+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.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.syntax.Tuple;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.ArrayList;
@@ -272,13 +272,13 @@
   /**
    * Represents `ctx.outputs`.
    *
-   * <p>A {@link ClassObject} (struct-like data structure) with "executable" field created
-   * lazily on-demand.
+   * <p>A {@link ClassObject} (struct-like data structure) with "executable" field created lazily
+   * on-demand.
    *
-   * <p>Note: There is only one {@code Outputs} object per rule context, so default
-   * (object identity) equals and hashCode suffice.
+   * <p>Note: There is only one {@code Outputs} object per rule context, so default (object
+   * identity) equals and hashCode suffice.
    */
-  private static class Outputs implements ClassObject, SkylarkValue {
+  private static class Outputs implements ClassObject, StarlarkValue {
     private final Map<String, Object> outputs;
     private final SkylarkRuleContext context;
     private boolean executableCreated = false;
@@ -338,7 +338,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       if (isImmutable()) {
         printer.append("ctx.outputs(for ");
         printer.append(context.ruleLabelCanonicalName);
@@ -474,7 +474,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     if (isForAspect) {
       printer.append("<aspect context for " + ruleLabelCanonicalName + ">");
     } else {
@@ -500,7 +500,7 @@
   }
 
   @Override
-  public SkylarkValue createdActions() throws EvalException {
+  public StarlarkValue createdActions() throws EvalException {
     checkMutable("created_actions");
     if (ruleContext.getRule().getRuleClassObject().isSkylarkTestable()) {
       return ActionsProvider.create(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
index d6eb362..e0549aa 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
@@ -32,8 +32,8 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.StructProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -77,7 +77,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<transition object>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java
index 93a26a1..d345023 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java
@@ -21,7 +21,7 @@
 
 import com.google.devtools.build.lib.packages.BuildSetting;
 import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Starlark namespace for creating build settings. */
 // TODO(juliexxia): Consider adding more types of build settings, specifically other label types.
@@ -48,7 +48,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<config>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailure.java b/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailure.java
index 0ad5e12..4a7066a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailure.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/AnalysisFailure.java
@@ -16,7 +16,7 @@
 
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.skylarkbuildapi.test.AnalysisFailureApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 
 /**
@@ -48,7 +48,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<AnalyisFailure object>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
index 11f954b..41abeca 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.test.CoverageCommonApi;
 import com.google.devtools.build.lib.skylarkbuildapi.test.InstrumentedFilesInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.FileType;
@@ -102,7 +102,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<coverage_common>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkPath.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkPath.java
index 52c56e0..67c33a7 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkPath.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkPath.java
@@ -17,7 +17,7 @@
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skylarkbuildapi.repository.RepositoryPathApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.vfs.Path;
 import java.io.IOException;
 
@@ -90,7 +90,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append(toString());
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
index 2cac6b7..4fdc01c 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
@@ -37,7 +37,6 @@
 import com.google.devtools.build.lib.packages.SkylarkExportable;
 import com.google.devtools.build.lib.packages.WorkspaceFactoryHelper;
 import com.google.devtools.build.lib.skylarkbuildapi.repository.RepositoryModuleApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.DebugFrame;
 import com.google.devtools.build.lib.syntax.DotExpression;
@@ -46,6 +45,7 @@
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Identifier;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
 import com.google.devtools.build.lib.syntax.Starlark;
@@ -134,7 +134,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       if (exportedName == null) {
         printer.append("<anonymous starlark repository rule>");
       } else {
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index 3e0d82c..41374dd 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -28,10 +28,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.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.util.StringUtilities;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -51,15 +51,14 @@
  * <p>Parsing is robust against bad input, for example, from the command line.
  */
 @SkylarkModule(
-  name = "Label",
-  category = SkylarkModuleCategory.BUILTIN,
-  doc = "A BUILD target identifier."
-)
+    name = "Label",
+    category = SkylarkModuleCategory.BUILTIN,
+    doc = "A BUILD target identifier.")
 @AutoCodec
 @Immutable
 @ThreadSafe
 public final class Label
-    implements Comparable<Label>, Serializable, SkylarkValue, SkyKey, CommandLineItem {
+    implements Comparable<Label>, Serializable, StarlarkValue, SkyKey, CommandLineItem {
 
   /** The Starlark type symbol for Label values. */
   public static final SkylarkType TYPE = SkylarkType.of(Label.class);
@@ -684,14 +683,14 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("Label(");
     printer.repr(getCanonicalForm());
     printer.append(")");
   }
 
   @Override
-  public void str(SkylarkPrinter printer) {
+  public void str(Printer printer) {
     printer.append(getCanonicalForm());
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index ce7f1d7..9bd5b11 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -41,11 +41,11 @@
 import com.google.devtools.build.lib.packages.Type.LabelClass;
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.util.StringUtil;
@@ -1301,7 +1301,7 @@
    *
    * <p>Implementations of this interface must be immutable.
    */
-  public abstract static class ComputedDefault implements SkylarkValue {
+  public abstract static class ComputedDefault implements StarlarkValue {
     private final ImmutableList<String> dependencies;
 
     /**
@@ -1611,7 +1611,7 @@
    *     Label}, or a {@link List} of {@link Label} objects.
    */
   @Immutable
-  public abstract static class LateBoundDefault<FragmentT, ValueT> implements SkylarkValue {
+  public abstract static class LateBoundDefault<FragmentT, ValueT> implements StarlarkValue {
     /**
      * Functional interface for computing the value of a late-bound attribute.
      *
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java b/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java
index f2e9694..88cbb1a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java
@@ -15,7 +15,7 @@
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi.BuildSettingApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Metadata of a build setting rule's properties. This describes the build setting's type (for
@@ -40,7 +40,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<build_setting." + type + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
index 3f3bea7..55b3bac 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
@@ -29,13 +29,12 @@
 import com.google.devtools.build.lib.packages.Type.LabelClass;
 import com.google.devtools.build.lib.packages.Type.ListType;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Printer.BasePrinter;
 import com.google.devtools.build.lib.syntax.SelectorValue;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -488,11 +487,11 @@
   }
 
   /**
-   * Holds an ordered collection of {@link Selector}s. This is used to support
-   * {@code attr = rawValue + select(...) + select(...) + ..."} syntax. For consistency's
-   * sake, raw values are stored as selects with only a default condition.
+   * Holds an ordered collection of {@link Selector}s. This is used to support {@code attr =
+   * rawValue + select(...) + select(...) + ..."} syntax. For consistency's sake, raw values are
+   * stored as selects with only a default condition.
    */
-  public static final class SelectorList<T> implements SkylarkValue {
+  public static final class SelectorList<T> implements StarlarkValue {
     private final Type<T> originalType;
     private final List<Selector<T>> elements;
 
@@ -561,7 +560,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       // Convert to a lib.syntax.SelectorList to guarantee consistency with callers that serialize
       // directly on that type.
       List<SelectorValue> selectorValueList = new ArrayList<>();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
index 5bec61e..5ec7d4e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java
@@ -16,8 +16,8 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.packages.NativeProvider.NativeKey;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import javax.annotation.Nullable;
 
 /**
@@ -86,7 +86,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<function " + getPrintableName() + ">");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
index 06b7aa2..99e8ab2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
 import com.google.devtools.build.lib.skylarkbuildapi.FilesetEntryApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.Collection;
 import java.util.Collections;
@@ -39,7 +39,7 @@
  */
 @Immutable
 @ThreadSafe
-public final class FilesetEntry implements SkylarkValue, FilesetEntryApi {
+public final class FilesetEntry implements StarlarkValue, FilesetEntryApi {
 
   public static final SymlinkBehavior DEFAULT_SYMLINK_BEHAVIOR = SymlinkBehavior.COPY;
   public static final String DEFAULT_STRIP_PREFIX = ".";
@@ -69,7 +69,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("FilesetEntry(srcdir = ");
     printer.repr(getSrcLabel().toString());
     printer.append(", files = ");
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Info.java b/src/main/java/com/google/devtools/build/lib/packages/Info.java
index 8b6bd15..6a5d8f9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Info.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Info.java
@@ -16,8 +16,8 @@
 import com.google.common.base.Preconditions;
 import com.google.devtools.build.lib.events.Location;
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.io.Serializable;
 import javax.annotation.Nullable;
 
@@ -27,7 +27,7 @@
  * <p>Natively-defined Info objects should subclass this to be registered as Info objects that may
  * be passed between targets.
  */
-public abstract class Info implements Serializable, InfoInterface, SkylarkValue {
+public abstract class Info implements Serializable, InfoInterface, StarlarkValue {
 
   /** The {@link Provider} that describes the type of this instance. */
   protected final Provider provider;
@@ -59,7 +59,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<instance of provider ");
     printer.append(provider.getPrintableName());
     printer.append(">");
diff --git a/src/main/java/com/google/devtools/build/lib/packages/License.java b/src/main/java/com/google/devtools/build/lib/packages/License.java
index 3c44a0e..a85b393 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/License.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/License.java
@@ -24,7 +24,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.LicenseApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumSet;
@@ -244,7 +244,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<license object>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index b03467e..58a1f6e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -35,7 +35,6 @@
 import com.google.devtools.build.lib.packages.License.DistributionType;
 import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
 import com.google.devtools.build.lib.packages.RuleFactory.BuildLangTypedAttributeValuesMap;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.Argument;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.BuiltinFunction;
@@ -57,6 +56,7 @@
 import com.google.devtools.build.lib.syntax.NodeVisitor;
 import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.ParserInput;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
 import com.google.devtools.build.lib.syntax.SkylarkUtils.Phase;
 import com.google.devtools.build.lib.syntax.Starlark;
@@ -625,7 +625,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<built-in rule " + getName() + ">");
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
index 135170c..be38ce1 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkDefinedAspect.java
@@ -23,9 +23,9 @@
 import com.google.devtools.build.lib.events.Location;
 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.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -123,7 +123,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<aspect>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkExportable.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkExportable.java
index 003baa9..41d8c39 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkExportable.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkExportable.java
@@ -15,15 +15,14 @@
 package com.google.devtools.build.lib.packages;
 
 import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
- * {@link SkylarkValue}s that need special handling when they are
- * exported from an extension file. For example, rule definitions
- * receive their name at the end of the execution of the .bzl file.
+ * {@link StarlarkValue}s that need special handling when they are exported from an extension file.
+ * For example, rule definitions receive their name at the end of the execution of the .bzl file.
  */
-public interface SkylarkExportable extends SkylarkValue {
+public interface SkylarkExportable extends StarlarkValue {
 
   /**
    * Is this value already exported?
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeAspect.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeAspect.java
index 4048b2f..c29badc 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeAspect.java
@@ -16,12 +16,12 @@
 
 import com.google.common.collect.ImmutableSet;
 import com.google.devtools.build.lib.events.Location;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** A natively-defined aspect that is may be referenced by skylark attribute definitions. */
 public abstract class SkylarkNativeAspect extends NativeAspectClass implements SkylarkAspect {
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<native aspect>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
index f472a19..5e68ae6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
@@ -32,7 +32,6 @@
 import com.google.devtools.build.lib.packages.RuleClass.Builder.ThirdPartyLicenseExistencePolicy;
 import com.google.devtools.build.lib.packages.Type.ConversionException;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkNativeModuleApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
@@ -43,6 +42,7 @@
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.syntax.Tuple;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -395,11 +395,11 @@
 
     if (val instanceof License) {
       // License is deprecated as a Starlark type, so omit this type from Starlark values
-      // to avoid exposing these objects, even though they are technically SkylarkValue.
+      // to avoid exposing these objects, even though they are technically StarlarkValue.
       return null;
     }
 
-    if (val instanceof SkylarkValue) {
+    if (val instanceof StarlarkValue) {
       return val;
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
index a0f1d56..afa538a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
@@ -21,11 +21,11 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.packages.SkylarkInfo.Layout;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.Map;
 import java.util.Objects;
@@ -250,7 +250,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<provider>");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
index c08e892..3a865da 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
@@ -22,11 +22,11 @@
 import com.google.common.collect.Ordering;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.StructApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.ClassObject;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.Starlark;
@@ -170,7 +170,7 @@
    * is no guarantee, it depends on the actual values).
    */
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     boolean first = true;
     printer.append("struct(");
     // Sort by key to ensure deterministic output.
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 2e1b239..59474e9 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
@@ -30,10 +30,10 @@
 import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
 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.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.Printer;
 import javax.annotation.Nullable;
 
 /**
@@ -164,7 +164,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<alias target " + label + " of " + actual.getLabel() + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index 50a5646..6bd9eb2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -63,7 +63,7 @@
 import com.google.devtools.build.lib.rules.java.JavaSemantics;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSplitTransititionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import java.util.List;
@@ -294,7 +294,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("android_common.multi_cpu_configuration");
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
index 8983c51..b44de57 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
@@ -27,7 +27,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.SerializationContext;
 import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleBitcodeModeApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter;
 import com.google.devtools.common.options.EnumConverter;
 import com.google.devtools.common.options.Option;
@@ -415,7 +415,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append(mode);
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java b/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java
index 959c05e..d891fce 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java
@@ -24,7 +24,7 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ApplePlatformApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ApplePlatformTypeApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.HashMap;
 import java.util.Locale;
 import javax.annotation.Nullable;
@@ -188,7 +188,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append(toString());
   }
 
@@ -252,7 +252,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append(toString());
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java b/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
index de5041d..d5d8844 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/DottedVersion.java
@@ -24,7 +24,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.apple.DottedVersionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.ArrayList;
 import java.util.Objects;
 import java.util.regex.Matcher;
@@ -345,7 +345,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append(stringRepresentation);
   }
 
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 9bdb02f..dee737d 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
@@ -35,9 +35,9 @@
 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.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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Tuple;
 
@@ -250,7 +250,7 @@
   public static class PyWrapCcInfoProvider implements PyWrapCcInfoApi.Provider {
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<unknown object>");
     }
   }
@@ -262,7 +262,7 @@
   public static class PyCcLinkParamsProvider implements PyCcLinkParamsProviderApi.Provider {
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<unknown object>");
     }
   }
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 3b39a24..03ba47d 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
@@ -37,7 +37,6 @@
 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.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;
@@ -45,6 +44,7 @@
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -372,7 +372,7 @@
    * @param <P> type of Provider
    * @param <S> type of returned NestedSet items
    */
-  private <P extends TransitiveInfoProvider, S extends SkylarkValue>
+  private <P extends TransitiveInfoProvider, S extends StarlarkValue>
       NestedSet<S> getProviderAsNestedSet(
           Class<P> providerClass, Function<P, NestedSet<S>> mapper) {
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
index 4e5f9fb..14a961a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
@@ -27,16 +27,16 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.List;
 import javax.annotation.Nullable;
 
 /** Marks configured targets that are able to supply message bundles to their dependents. */
 @AutoCodec
 @Immutable
-public final class MessageBundleInfo extends NativeInfo implements SkylarkValue {
+public final class MessageBundleInfo extends NativeInfo implements StarlarkValue {
 
   public static final String SKYLARK_NAME = "MessageBundleInfo";
 
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 085dc0d..9be7e79 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
@@ -42,13 +42,13 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi;
 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.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.Map;
 import javax.annotation.Nullable;
 
@@ -256,10 +256,11 @@
       AppleBinaryOutput output, StarlarkThread thread) {
     Provider constructor =
         new NativeProvider<StructImpl>(StructImpl.class, "apple_binary_output") {};
-    // We have to transform the output group dictionary into one that contains SkylarkValues instead
+    // We have to transform the output group dictionary into one that contains StarlarkValues
+    // instead
     // of plain NestedSets because the Skylark caller may want to return this directly from their
     // implementation function.
-    Map<String, SkylarkValue> outputGroups =
+    Map<String, StarlarkValue> outputGroups =
         Maps.transformValues(output.getOutputGroups(), v -> Depset.of(Artifact.TYPE, v));
 
     ImmutableMap<String, Object> fields =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java
index 7573492..eda568f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java
@@ -37,8 +37,8 @@
 import com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.PlatformRule;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -50,7 +50,7 @@
 public class MultiArchSplitTransitionProvider
     implements TransitionFactory<AttributeTransitionData>,
         SplitTransitionProviderApi,
-        SkylarkValue {
+        StarlarkValue {
 
   @VisibleForTesting
   static final String UNSUPPORTED_PLATFORM_TYPE_ERROR_FORMAT =
@@ -170,7 +170,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("apple_common.multi_arch_split");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyStarlarkTransitions.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyStarlarkTransitions.java
index 49150f2..cc1956d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyStarlarkTransitions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyStarlarkTransitions.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.analysis.config.transitions.TransitionFactory;
 import com.google.devtools.build.lib.packages.AttributeTransitionData;
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyStarlarkTransitionsApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Printer;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Exposes a native transition to Starlark for changing the Python version.
@@ -44,12 +44,12 @@
   public static final PyStarlarkTransitions INSTANCE = new PyStarlarkTransitions();
 
   @Override
-  public SkylarkValue getTransition() {
+  public StarlarkValue getTransition() {
     return StarlarkVersionTransition.INSTANCE;
   }
 
   private static class StarlarkVersionTransition
-      implements TransitionFactory<AttributeTransitionData>, SkylarkValue {
+      implements TransitionFactory<AttributeTransitionData>, StarlarkValue {
 
     private static final StarlarkVersionTransition INSTANCE = new StarlarkVersionTransition();
 
@@ -69,7 +69,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<py_transitions.cfg>");
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PythonConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/python/PythonConfiguration.java
index 1e5058f..c5e8d93 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PythonConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PythonConfiguration.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.events.EventHandler;
 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.StarlarkValue;
 import com.google.devtools.build.lib.util.OS;
 import com.google.devtools.common.options.TriState;
 
@@ -36,7 +36,7 @@
     name = "py",
     doc = "A configuration fragment for Python.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public class PythonConfiguration extends BuildConfiguration.Fragment implements SkylarkValue {
+public class PythonConfiguration extends BuildConfiguration.Fragment implements StarlarkValue {
 
   private final PythonVersion version;
   private final PythonVersion defaultVersion;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
index 9b9129b..d1aea77 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
@@ -33,13 +33,13 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.StructProvider;
 import com.google.devtools.build.lib.packages.Target;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 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.SkylarkType;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.Map;
 
 /** A factory for aspects that are defined in Skylark. */
@@ -191,11 +191,11 @@
 
   private static void addOutputGroups(Object value, Location loc, ConfiguredAspect.Builder builder)
       throws EvalException {
-    Map<String, SkylarkValue> outputGroups =
-        SkylarkType.castMap(value, String.class, SkylarkValue.class, "output_groups");
+    Map<String, StarlarkValue> outputGroups =
+        SkylarkType.castMap(value, String.class, StarlarkValue.class, "output_groups");
 
     for (String outputGroup : outputGroups.keySet()) {
-      SkylarkValue objects = outputGroups.get(outputGroup);
+      StarlarkValue objects = outputGroups.get(outputGroup);
 
       builder.addOutputGroup(
           outputGroup,
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 6fd22c3..9543e3e 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
@@ -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.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.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.io.IOException;
 
 /** Interface for actions in Skylark. */
@@ -40,7 +40,7 @@
             + "reference</a> for creating actions."
             + "<p>Some fields of this object are only applicable for certain kinds of actions. "
             + "Fields that are inapplicable are set to <code>None</code>.")
-public interface ActionApi extends SkylarkValue {
+public interface ActionApi extends StarlarkValue {
 
   @SkylarkCallable(
     name = "mnemonic",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/BuildConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/BuildConfigurationApi.java
index 71ee936..6aa9168 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/BuildConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/BuildConfigurationApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a configuration object which holds information about the build environment. */
 @SkylarkModule(
@@ -28,7 +28,7 @@
         "This object holds information about the environment in which the build is running. See"
             + " the <a href='../rules.$DOC_EXT#configurations'>Rules page</a> for more on the"
             + " general concept of configurations.")
-public interface BuildConfigurationApi extends SkylarkValue {
+public interface BuildConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(name = "bin_dir", structField = true, documented = false)
   @Deprecated
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 18f3a29..d75adc5 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
@@ -20,11 +20,11 @@
 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.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.StarlarkValue;
 
 /** Command line args module. */
 @SkylarkModule(
@@ -110,7 +110,7 @@
             + "  ...\n"
             + ")\n"
             + "</pre>")
-public interface CommandLineArgsApi extends SkylarkValue {
+public interface CommandLineArgsApi extends StarlarkValue {
   @SkylarkCallable(
       name = "add",
       doc =
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileApi.java
index 06bd6c6..e2d7bba 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileApi.java
@@ -18,27 +18,26 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
-/**
- * The interface for files in Skylark.
- */
+/** The interface for files in Skylark. */
 @SkylarkModule(
-  name = "File",
-  category = SkylarkModuleCategory.BUILTIN,
-  doc =
-      "This object is created during the analysis phase to represent a file or directory that "
-          + "will be read or written during the execution phase. It is not an open file handle, "
-          + "and cannot be used to directly read or write file contents. Rather, you use it to "
-          + "construct the action graph in a rule implementation function by passing it to "
-          + "action-creating functions. See the "
-          + "<a href='../rules.$DOC_EXT#files'>Rules page</a> for more information."
-          + ""
-          + "<p>When a <code>File</code> is passed to an <a href='Args.html'><code>Args</code></a> "
-          + "object without using a <code>map_each</code> function, it is converted to a string by "
-          + "taking the value of its <code>path</code> field."
-)
-public interface FileApi extends SkylarkValue {
+    name = "File",
+    category = SkylarkModuleCategory.BUILTIN,
+    doc =
+        "This object is created during the analysis phase to represent a file or directory that "
+            + "will be read or written during the execution phase. It is not an open file"
+            + " handle, "
+            + "and cannot be used to directly read or write file contents. Rather, you use it to "
+            + "construct the action graph in a rule implementation function by passing it to "
+            + "action-creating functions. See the "
+            + "<a href='../rules.$DOC_EXT#files'>Rules page</a> for more information."
+            + "" // curse google-java-format b/145078219
+            + "<p>When a <code>File</code> is passed to an <a"
+            + " href='Args.html'><code>Args</code></a> object without using a"
+            + " <code>map_each</code> function, it is converted to a string by taking the value of"
+            + " its <code>path</code> field.")
+public interface FileApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "dirname",
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 03a7b55..3707ceb 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
@@ -17,15 +17,15 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A representation of the concept "this builds these files". */
 @SkylarkModule(
     name = "file_provider",
     doc = "An interface for rules that provide files.",
     category = SkylarkModuleCategory.PROVIDER)
-public interface FileProviderApi extends SkylarkValue {
+public interface FileProviderApi extends StarlarkValue {
 
   /**
    * Returns the set of files that are the "output" of this rule.
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileRootApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileRootApi.java
index ee8a158..409f9ee 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileRootApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FileRootApi.java
@@ -17,20 +17,19 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
- * A root for a file. The roots are the directories containing files, and they are mapped
- * together into a single directory tree to form the execution environment.
+ * A root for a file. The roots are the directories containing files, and they are mapped together
+ * into a single directory tree to form the execution environment.
  */
 @SkylarkModule(
-  name = "root",
-  category = SkylarkModuleCategory.BUILTIN,
-  doc =
-      "A root for files. The roots are the directories containing files, and they are mapped "
-          + "together into a single directory tree to form the execution environment."
-)
-public interface FileRootApi extends SkylarkValue {
+    name = "root",
+    category = SkylarkModuleCategory.BUILTIN,
+    doc =
+        "A root for files. The roots are the directories containing files, and they are mapped "
+            + "together into a single directory tree to form the execution environment.")
+public interface FileRootApi extends StarlarkValue {
   @SkylarkCallable(name = "path", structField = true,
       doc = "Returns the relative path from the exec root to the actual root.")
   public String getExecPathString();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesToRunProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesToRunProviderApi.java
index a55ff00..4eaf2f3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesToRunProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesToRunProviderApi.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.SkylarkModuleCategory;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /** Returns information about executables produced by a target and the files needed to run it. */
 @SkylarkModule(name = "FilesToRunProvider", doc = "", category = SkylarkModuleCategory.PROVIDER)
-public interface FilesToRunProviderApi<FileT extends FileApi> extends SkylarkValue {
+public interface FilesToRunProviderApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
     name = "executable",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesetEntryApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesetEntryApi.java
index eae1e35..9615659 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesetEntryApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FilesetEntryApi.java
@@ -15,8 +15,8 @@
 package com.google.devtools.build.lib.skylarkbuildapi;
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A value object used to represent an entry inside a "Fileset" BUILD rule. */
 @SkylarkModule(name = "FilesetEntry", doc = "", documented = false)
-public interface FilesetEntryApi extends SkylarkValue {}
+public interface FilesetEntryApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FragmentCollectionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FragmentCollectionApi.java
index 1401f18..8e2e402 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FragmentCollectionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/FragmentCollectionApi.java
@@ -16,8 +16,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.ClassObject;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Represents a collection of configuration fragments in Skylark. */
 @SkylarkModule(
@@ -32,4 +32,4 @@
             + "ex:</p><code>ctx.fragments.apple</code></p>"
             + "Note that rules have to declare their required fragments in order to access them "
             + "(see <a href=\"../rules.md#fragments\">here</a>).")
-public interface FragmentCollectionApi extends ClassObject, SkylarkValue {}
+public interface FragmentCollectionApi extends ClassObject, StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java
index 00dcec5..e6a1729 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** The interface for late bound defaults in Skylark. */
 @SkylarkModule(
@@ -30,4 +30,4 @@
             + " build configuration. <p>See <a"
             + " href=\"globals.html#configuration_field\">configuration_field</a> for example"
             + " usage.")
-public interface LateBoundDefaultApi extends SkylarkValue {}
+public interface LateBoundDefaultApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LicenseApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LicenseApi.java
index 8c79a7b..53bfc45 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LicenseApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LicenseApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** The interface for a license in Skylark. */
 @SkylarkModule(
@@ -26,4 +26,4 @@
     doc =
         "This API is deprecated and will be removed. Please do not depend on it. "
             + "This object represents the value of a license attribute.")
-public interface LicenseApi extends SkylarkValue {}
+public interface LicenseApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoConfigurationApi.java
index 73f0f9e..4753f57 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoConfigurationApi.java
@@ -16,11 +16,11 @@
 
 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.StarlarkValue;
 
 /** A configuration fragment representing protocol buffers. */
 @SkylarkModule(
     name = "proto",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT,
     doc = "A configuration fragment representing protocol buffers.")
-public interface ProtoConfigurationApi extends SkylarkValue {}
+public interface ProtoConfigurationApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProviderApi.java
index 6b25859b..fa21428 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProviderApi.java
@@ -15,7 +15,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.StarlarkValue;
 
 /** Interface for provider objects (constructors for {@link StructApi} objects). */
 @SkylarkModule(
@@ -41,4 +41,4 @@
             + "  </ul>"
             + "Create a new <code>Provider</code> using the "
             + "<a href=\"globals.html#provider\">provider</a> function.")
-public interface ProviderApi extends SkylarkValue {}
+public interface ProviderApi extends StarlarkValue {}
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 b058d95..b4fe5f8 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
@@ -18,8 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** An interface for a set of runfiles. */
 @SkylarkModule(
@@ -30,7 +30,7 @@
             + " object should be passed via <a href=\"DefaultInfo.html\">DefaultInfo</a> in order"
             + " to tell the build system about the runfiles needed by the outputs produced by the"
             + " rule. See <a href=\"../rules.html#runfiles\">runfiles guide</a> for details.")
-public interface RunfilesApi extends SkylarkValue {
+public interface RunfilesApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "files",
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 0994314..fdfc54c 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
@@ -20,13 +20,13 @@
 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.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.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Module providing functions to create actions. */
 @SkylarkModule(
@@ -35,7 +35,7 @@
     doc =
         "Module providing functions to create actions. "
             + "Access this module using <a href=\"ctx.html#actions\"><code>ctx.actions</code></a>.")
-public interface SkylarkActionFactoryApi extends SkylarkValue {
+public interface SkylarkActionFactoryApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "declare_file",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAspectApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAspectApi.java
index d58239d..4ba245e 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAspectApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAspectApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** The interface for skylark-defined aspects in the Build API. */
 @SkylarkModule(
@@ -26,4 +26,4 @@
         "For more information about Aspects, please consult the <a href=\"globals.html#aspect\">"
             + "documentation of the aspect function</a> or the "
             + "<a href=\"../aspects.md\">introduction to Aspects</a>.")
-public interface SkylarkAspectApi extends SkylarkValue {}
+public interface SkylarkAspectApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttrApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttrApi.java
index 195ac78..47fb401 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttrApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttrApi.java
@@ -20,7 +20,6 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
@@ -28,6 +27,7 @@
 import com.google.devtools.build.lib.syntax.StarlarkFunction;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * The "attr" module of the Build API.
@@ -49,7 +49,7 @@
             + "<p>See the Rules page for more on "
             + "<a href='../rules.$DOC_EXT#attributes'>defining</a> and "
             + "<a href='../rules.$DOC_EXT#implementation-function'>using</a> attributes.")
-public interface SkylarkAttrApi extends SkylarkValue {
+public interface SkylarkAttrApi extends StarlarkValue {
 
   // dependency and output attributes
   static final String LABEL_PARAGRAPH =
@@ -997,5 +997,5 @@
               + "module to create an Attribute. They are only for use with a "
               + "<a href=\"globals.html#rule\">rule</a> or an "
               + "<a href=\"globals.html#aspect\">aspect</a>.")
-  public static interface Descriptor extends SkylarkValue {}
+  public static interface Descriptor extends StarlarkValue {}
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttributesCollectionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttributesCollectionApi.java
index 4b82196..7929233 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttributesCollectionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkAttributesCollectionApi.java
@@ -17,15 +17,15 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a type containing information about the attributes of a rule. */
 @SkylarkModule(
     name = "rule_attributes",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Information about attributes of a rule an aspect is applied to.")
-public interface SkylarkAttributesCollectionApi extends SkylarkValue {
+public interface SkylarkAttributesCollectionApi extends StarlarkValue {
 
   @SkylarkCallable(name = "attr", structField = true, doc = SkylarkRuleContextApi.ATTR_DOC)
   public StructApi getAttr() throws EvalException;
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 d86654e..a100ceb 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
@@ -18,10 +18,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.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.StarlarkValue;
 
 /** Interface for a module associated with creating efficient command lines. */
 @SkylarkModule(
@@ -30,7 +30,7 @@
     category = SkylarkModuleCategory.TOP_LEVEL_TYPE,
     doc = "Deprecated. Module for creating memory efficient command lines.")
 @StarlarkDeprecated
-public interface SkylarkCommandLineApi extends SkylarkValue {
+public interface SkylarkCommandLineApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "join_paths",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
index f681cce..f9f2f28 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
@@ -19,12 +19,12 @@
 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.skylarkinterface.SkylarkValue;
 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.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a module with native rule and package helper functions. */
 @SkylarkModule(
@@ -38,7 +38,7 @@
             + "(i.e. for macros, not for rule implementations). Attributes will ignore "
             + "<code>None</code> values, and treat them as if the attribute was unset.<br>"
             + "The following functions are also available:")
-public interface SkylarkNativeModuleApi extends SkylarkValue {
+public interface SkylarkNativeModuleApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "glob",
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 4ec398b..ec7cae2 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
@@ -22,7 +22,6 @@
 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.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;
@@ -32,6 +31,7 @@
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.syntax.Tuple;
 import javax.annotation.Nullable;
 
@@ -39,20 +39,18 @@
 @SkylarkModule(
     name = "ctx",
     category = SkylarkModuleCategory.BUILTIN,
-    doc = "A context object that is passed to the implementation function for a rule or aspect. "
-        + "It provides access to the information and methods needed to analyze the current target."
-        + ""
-        + "<p>In particular, it lets the implementation function access the current target's "
-        + "label, attributes, configuration, and the providers of its dependencies. It has methods "
-        + "for declaring output files and the actions that produce them."
-        + ""
-        + "<p>Context objects essentially live for the duration of the call to the implementation "
-        + "function. It is not useful to access these objects outside of their associated "
-        + "function."
-        + ""
-        + "See the <a href='../rules.$DOC_EXT#implementation-function'>Rules page</a> for more "
-        + "information.")
-public interface SkylarkRuleContextApi extends SkylarkValue {
+    doc =
+        "A context object that is passed to the implementation function for a rule or aspect. It"
+            + " provides access to the information and methods needed to analyze the current"
+            + " target.<p>In particular, it lets the implementation function access the current"
+            + " target's label, attributes, configuration, and the providers of its dependencies."
+            + " It has methods for declaring output files and the actions that produce them."
+            + "<p>Context objects essentially live for the duration of the call to the"
+            + " implementation function. It is not useful to access these objects outside of their"
+            + " associated function.See the <a"
+            + " href='../rules.$DOC_EXT#implementation-function'>Rules page</a> for more "
+            + "information.")
+public interface SkylarkRuleContextApi extends StarlarkValue {
 
   public static final String DOC_NEW_FILE_TAIL = "Does not actually create a file on the file "
       + "system, just declares that some action will do so. You must create an action that "
@@ -157,16 +155,17 @@
 
   @SkylarkCallable(
       name = "created_actions",
-      doc = "For rules with <a href=\"globals.html#rule._skylark_testable\">_skylark_testable"
-          + "</a> set to <code>True</code>, this returns an "
-          + "<a href=\"globals.html#Actions\">Actions</a> provider representing all actions "
-          + "created so far for the current rule. For all other rules, returns <code>None</code>. "
-          + "Note that the provider is not updated when subsequent actions are created, so you "
-          + "will have to call this function again if you wish to inspect them. "
-          + "<br/><br/>"
-          + "This is intended to help write tests for rule-implementation helper functions, which "
-          + "may take in a <code>ctx</code> object and create actions on it.")
-  public SkylarkValue createdActions() throws EvalException;
+      doc =
+          "For rules with <a href=\"globals.html#rule._skylark_testable\">_skylark_testable</a>"
+              + " set to <code>True</code>, this returns an <a"
+              + " href=\"globals.html#Actions\">Actions</a> provider representing all actions"
+              + " created so far for the current rule. For all other rules, returns"
+              + " <code>None</code>. Note that the provider is not updated when subsequent actions"
+              + " are created, so you will have to call this function again if you wish to inspect"
+              + " them. <br/><br/>This is intended to help write tests for rule-implementation"
+              + " helper functions, which may take in a <code>ctx</code> object and create actions"
+              + " on it.")
+  public StarlarkValue createdActions() throws EvalException;
 
   @SkylarkCallable(name = "attr", structField = true, doc = ATTR_DOC)
   public StructApi getAttr() throws EvalException;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SplitTransitionProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SplitTransitionProviderApi.java
index a2523cc..60e6cd8 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SplitTransitionProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SplitTransitionProviderApi.java
@@ -14,9 +14,9 @@
 
 package com.google.devtools.build.lib.skylarkbuildapi;
 
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a type representing a split configuration transition. */
-public interface SplitTransitionProviderApi extends SkylarkValue {
+public interface SplitTransitionProviderApi extends StarlarkValue {
   // TODO(cparsons): Expose this explicitly to the build API.
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java
index 6bda093..7f9af69 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * The "config" module of the Build API.
@@ -46,7 +46,7 @@
             + "    build_setting = config.int(flag = True),\n"
             + "    ...\n"
             + "  )</pre>")
-public interface StarlarkConfigApi extends SkylarkValue {
+public interface StarlarkConfigApi extends StarlarkValue {
 
   static final String FLAG_ARG = "flag";
   static final String FLAG_ARG_DOC =
@@ -116,5 +116,5 @@
           "The descriptor for a single piece of configuration information. If configuration is a "
               + "key-value map of settings like {'cpu': 'ppc', 'copt': '-DFoo'}, this describes a "
               + "single entry in that map.")
-  interface BuildSettingApi extends SkylarkValue {}
+  interface BuildSettingApi extends StarlarkValue {}
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StructApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StructApi.java
index a505615..c432316 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StructApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StructApi.java
@@ -20,9 +20,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for the "struct" object in the build API. */
 @SkylarkModule(
@@ -32,7 +32,7 @@
         "A generic object with fields."
             + "<p>Structs fields cannot be reassigned once the struct is created. Two structs are "
             + "equal if they have the same fields and if corresponding field values are equal.")
-public interface StructApi extends SkylarkValue {
+public interface StructApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "to_proto",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SymlinkEntryApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SymlinkEntryApi.java
index b88e995..7f4d807 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SymlinkEntryApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SymlinkEntryApi.java
@@ -17,14 +17,14 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a single runfiles symlink represented by a link name and target. */
 @SkylarkModule(
     name = "SymlinkEntry",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "A single runfiles symlink represented by a link name and target.")
-public interface SymlinkEntryApi extends SkylarkValue {
+public interface SymlinkEntryApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "path",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TargetApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TargetApi.java
index 9bfdc5a..81d5d76 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TargetApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TargetApi.java
@@ -17,11 +17,11 @@
 import com.google.devtools.build.lib.cmdline.Label;
 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.StarlarkValue;
 
 /** A node in the build dependency graph, identified by a Label. */
 @SkylarkModule(name = "target", doc = "", documented = false)
-public interface TargetApi extends SkylarkValue {
+public interface TargetApi extends StarlarkValue {
 
   /**
    * Returns the label of this target.  (e.g. "//foo:bar")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ToolchainContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ToolchainContextApi.java
index 3bc97fc..c21fb45 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ToolchainContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ToolchainContextApi.java
@@ -16,12 +16,12 @@
 
 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.SkylarkIndexable;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Stores toolchains available to a given rule. */
 @SkylarkModule(
     name = "ToolchainContext",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Stores toolchains available to a given rule.")
-public interface ToolchainContextApi extends SkylarkValue, SkylarkIndexable {}
+public interface ToolchainContextApi extends StarlarkValue, SkylarkIndexable {}
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 7f5adfd..101dbf4 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
@@ -18,9 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a build target. */
 @SkylarkModule(
@@ -40,7 +40,7 @@
             + " rule targets all additional providers provided by this target are accessible as"
             + " <code>struct</code> fields. These extra providers are defined in the"
             + " <code>struct</code> returned by the rule implementation function.</li></ul>")
-public interface TransitiveInfoCollectionApi extends SkylarkValue {
+public interface TransitiveInfoCollectionApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "output_group",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBinaryDataSettingsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBinaryDataSettingsApi.java
index 92ff890..5e74cf1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBinaryDataSettingsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidBinaryDataSettingsApi.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.android;
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Wraps common settings for working with android binary assets, resources, and manifests. */
 @SkylarkModule(
@@ -25,4 +25,4 @@
             + "Wraps common settings for working with android binary assets, resources, and "
             + "manifest",
     documented = false)
-public interface AndroidBinaryDataSettingsApi extends SkylarkValue {}
+public interface AndroidBinaryDataSettingsApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
index 363fb69..eab76e9 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
@@ -17,7 +17,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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Configuration fragment for Android rules. */
 @SkylarkModule(
@@ -28,7 +28,7 @@
             + "A configuration fragment for Android.",
     documented = false,
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public interface AndroidConfigurationApi extends SkylarkValue {
+public interface AndroidConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "android_cpu",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataContextApi.java
index 2a03d90..efbad8d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataContextApi.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.android;
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Wraps common tools and settings used for working with Android assets, resources, and manifests.
@@ -27,4 +27,4 @@
             + "Wraps common tools and settings used for working with Android assets, resources, and"
             + " manifests",
     documented = false)
-public interface AndroidDataContextApi extends SkylarkValue {}
+public interface AndroidDataContextApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
index 885aa8a..f093906 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidDataProcessingApi.java
@@ -22,12 +22,12 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Skylark-visible methods for working with Android data (manifests, resources, and assets). */
 @SkylarkModule(
@@ -49,7 +49,7 @@
         AndroidLibraryAarInfoT extends AndroidLibraryAarInfoApi<?>,
         AndroidBinaryDataInfoT extends AndroidBinaryDataInfoApi<?>,
         ValidatedAndroidDataT extends ValidatedAndroidDataApi<?, ?>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "assets_from_deps",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidManifestApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidManifestApi.java
index 1049f13..e5e2720 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidManifestApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidManifestApi.java
@@ -15,7 +15,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.StarlarkValue;
 
 /** Wraps an Android Manifest and provides utilities for working with it */
 @SkylarkModule(
@@ -26,4 +26,4 @@
             + "Wraps an Android Manifest and provides utilities to work with it.",
     documented = false,
     category = SkylarkModuleCategory.PROVIDER)
-public interface AndroidManifestApi extends SkylarkValue {}
+public interface AndroidManifestApi extends StarlarkValue {}
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 b991fde..abe62c9 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
@@ -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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /**
@@ -39,7 +39,7 @@
             + "provides this struct, accessible as a <code>android</code> field on a "
             + "<a href=\"Target.html\">target</a>.",
     documented = false)
-public interface AndroidSkylarkApiProviderApi<FileT extends FileApi> extends SkylarkValue {
+public interface AndroidSkylarkApiProviderApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
       name = "apk",
@@ -153,7 +153,7 @@
               + "it, you will be broken when it is removed."
               + "Provides access to information about Android rules.",
       documented = false)
-  interface IdlInfoApi<FileT extends FileApi> extends SkylarkValue {
+  interface IdlInfoApi<FileT extends FileApi> extends StarlarkValue {
     @SkylarkCallable(
         name = "import_root",
         structField = true,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
index ab0d5d2..9f64e46 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSkylarkCommonApi.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Common utilities for Skylark rules related to Android. */
 @SkylarkModule(
@@ -30,7 +30,7 @@
             + "Common utilities and functionality related to Android rules.",
     documented = false)
 public interface AndroidSkylarkCommonApi<FileT extends FileApi, JavaInfoT extends JavaInfoApi<?>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "create_device_broker_info",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSplitTransititionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSplitTransititionApi.java
index 85b65de..cb64fa9 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSplitTransititionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidSplitTransititionApi.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.android;
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Android configuration for properly handling native dependencies */
 @SkylarkModule(
@@ -23,4 +23,4 @@
         "Do not use this module. It is intended for migration purposes only. If you depend on it, "
             + "you will be broken when it is removed.",
     documented = false)
-public interface AndroidSplitTransititionApi extends SkylarkValue {}
+public interface AndroidSplitTransititionApi extends StarlarkValue {}
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 44c7e61..c164fa5 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
@@ -21,10 +21,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.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.StarlarkValue;
 import javax.annotation.Nullable;
 
 /**
@@ -50,7 +50,7 @@
           "Do not use this module. It is intended for migration purposes only. If you depend on "
               + "it, you will be broken when it is removed.",
       documented = false)
-  public class LabelJavaPackagePair implements SkylarkValue {
+  public class LabelJavaPackagePair implements StarlarkValue {
 
     private final String label;
     private final String javaPackage;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ParsedAndroidAssetsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ParsedAndroidAssetsApi.java
index 1b2b7d1..6fab0d0 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ParsedAndroidAssetsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ParsedAndroidAssetsApi.java
@@ -15,7 +15,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.StarlarkValue;
 
 /** Parsed Android assets which can be merged together with assets from dependencies. */
 @SkylarkModule(
@@ -26,4 +26,4 @@
             + "Information about the Android assets provided by a rule.",
     documented = false,
     category = SkylarkModuleCategory.PROVIDER)
-public interface ParsedAndroidAssetsApi extends SkylarkValue {}
+public interface ParsedAndroidAssetsApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ValidatedAndroidDataApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ValidatedAndroidDataApi.java
index 9696dca..b4c14e0 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ValidatedAndroidDataApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ValidatedAndroidDataApi.java
@@ -17,9 +17,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /** Validated Android data which can be merged together with assets from dependencies. */
@@ -38,7 +38,7 @@
                     FileT,
                     ? extends ValidatedAndroidDataApi<FileT, AndroidResourcesInfoT>,
                     ? extends AndroidManifestInfoApi<FileT>>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "to_provider",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBitcodeModeApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBitcodeModeApi.java
index d191d2e..2ec54ba 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBitcodeModeApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBitcodeModeApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /**
  * Interface for an enum describing the bitcode mode to use when compiling Objective-C and Swift
@@ -32,4 +32,4 @@
             + "<li><code>'embedded'</code></li>"
             + "<li><code>'embedded_markers'</code></li>"
             + "</ul>")
-public interface AppleBitcodeModeApi extends SkylarkValue {}
+public interface AppleBitcodeModeApi extends StarlarkValue {}
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 a4fb1d8..d385cf7 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
@@ -25,12 +25,12 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a module with useful functions for creating apple-related rule implementations. */
 @SkylarkModule(
@@ -41,7 +41,7 @@
         ObjcProviderApiT extends ObjcProviderApi<?>,
         XcodeConfigInfoApiT extends XcodeConfigInfoApi<?, ?>,
         ApplePlatformApiT extends ApplePlatformApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "apple_toolchain",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleConfigurationApi.java
index 8a7a8c6..4462bf1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleConfigurationApi.java
@@ -18,8 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.skylarkinterface.StarlarkDeprecated;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** An interface for a configuration type containing info for Apple platforms and tools. */
 @SkylarkModule(
@@ -27,7 +27,7 @@
     doc = "A configuration fragment for Apple platforms.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
 public interface AppleConfigurationApi<ApplePlatformTypeApiT extends ApplePlatformTypeApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "ios_cpu",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformApi.java
index 814c018..b70c9f3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformApi.java
@@ -17,7 +17,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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** An interface for an object representing an Apple platform. */
 @SkylarkModule(
@@ -44,7 +44,7 @@
             + "p = apple_common.platform.ios_device\n"
             + "print(p.name_in_plist)  # 'iPhoneOS'\n"
             + "</pre>")
-public interface ApplePlatformApi extends SkylarkValue {
+public interface ApplePlatformApi extends StarlarkValue {
 
   /** Returns the platform type of this platform. */
   @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformTypeApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformTypeApi.java
index 8a520ea..c3b9f77 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformTypeApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ApplePlatformTypeApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** Interface for a descriptor for an Apple platform type, such as such as iOS or macOS. */
 @SkylarkModule(
@@ -36,4 +36,4 @@
             + " <code>platform_type</code> field.<p>Platform types can be converted to a lowercase"
             + " string (e.g., <code>ios</code> or <code>macos</code>) using the <a"
             + " href='globals.html#str'>str</a> function.")
-public interface ApplePlatformTypeApi extends SkylarkValue {}
+public interface ApplePlatformTypeApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleToolchainApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleToolchainApi.java
index 14698ea..740724b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleToolchainApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleToolchainApi.java
@@ -17,14 +17,14 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.StarlarkValue;
 
 /** Interface for a utility module involving the Apple toolchain. */
 @SkylarkModule(
     name = "apple_toolchain",
     doc = "Utilities for resolving items from the Apple toolchain.")
 public interface AppleToolchainApi<AppleConfigurationApiT extends AppleConfigurationApi<?>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
     name = "sdk_dir",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/DottedVersionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/DottedVersionApi.java
index 53d6d03..b86e696 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/DottedVersionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/DottedVersionApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Interface for a value representing a version with multiple components, separated by periods, such
@@ -31,7 +31,7 @@
         "A value representing a version with multiple components, separated by periods, such as "
             + "1.2.3.4.")
 public interface DottedVersionApi<SelfT extends DottedVersionApi<?>>
-    extends SkylarkValue, Comparable<SelfT> {
+    extends StarlarkValue, Comparable<SelfT> {
 
   @SkylarkCallable(
       name = "compare_to",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/J2ObjcConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/J2ObjcConfigurationApi.java
index b4be93d..3fbb9b3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/J2ObjcConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/J2ObjcConfigurationApi.java
@@ -18,14 +18,14 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A configuration fragment for j2objc. */
 @SkylarkModule(
     name = "j2objc",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT,
     doc = "A configuration fragment for j2Objc.")
-public interface J2ObjcConfigurationApi extends SkylarkValue {
+public interface J2ObjcConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "translation_flags",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcConfigurationApi.java
index 88e50aa..764146b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/ObjcConfigurationApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /** A configuration fragment for Objective C. */
@@ -28,7 +28,7 @@
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT,
     doc = "A configuration fragment for Objective-C.")
 public interface ObjcConfigurationApi<ApplePlatformTypeApiT extends ApplePlatformTypeApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "ios_simulator_device",
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 64693b3..435a480 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
@@ -18,9 +18,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.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.StarlarkValue;
 
 /**
  * An interface for an info type that provides all compiling and linking information in the
@@ -29,9 +29,8 @@
 @SkylarkModule(
     name = "ObjcProvider",
     category = SkylarkModuleCategory.PROVIDER,
-    doc = "A provider for compilation and linking of objc."
-)
-public interface ObjcProviderApi<FileApiT extends FileApi> extends SkylarkValue {
+    doc = "A provider for compilation and linking of objc.")
+public interface ObjcProviderApi<FileApiT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
       name = "define",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/SwiftConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/SwiftConfigurationApi.java
index 24d5057..662e736 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/SwiftConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/SwiftConfigurationApi.java
@@ -18,14 +18,14 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A configuration fragment for Swift tools. */
 @SkylarkModule(
     name = "swift",
     doc = "A configuration fragment for Swift tools.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public interface SwiftConfigurationApi extends SkylarkValue {
+public interface SwiftConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(
     name = "copts",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigSkylarkCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigSkylarkCommonApi.java
index 7127909..3ee5f7b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigSkylarkCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigSkylarkCommonApi.java
@@ -17,13 +17,13 @@
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
 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.StarlarkValue;
 
 /** Helper utility containing functions regarding configurations.ss */
 @SkylarkModule(
     name = "config_common",
     doc = "Functions for Starlark to interact with Blaze's configurability APIs.")
-public interface ConfigSkylarkCommonApi extends SkylarkValue {
+public interface ConfigSkylarkCommonApi extends StarlarkValue {
 
   @SkylarkCallable(
     name = "FeatureFlagInfo",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigurationTransitionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigurationTransitionApi.java
index 2e40333..87fb28d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigurationTransitionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigurationTransitionApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** Represents a configuration transition across a dependency edge. */
 @SkylarkModule(
@@ -29,4 +29,4 @@
             + " <code>//package:bar</code>'s transition will be determined by that of"
             + " <code>//package:foo</code>, as subject to the function defined by a transition"
             + " object.")
-public interface ConfigurationTransitionApi extends SkylarkValue {}
+public interface ConfigurationTransitionApi extends StarlarkValue {}
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 6d0e3ef..39fcb54 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
@@ -17,8 +17,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Interface for a store of information needed for C++ compilation aggregated across dependencies.
@@ -29,7 +29,7 @@
     doc =
         "Immutable store of information needed for C++ compilation that is aggregated across "
             + "dependencies.")
-public interface CcCompilationContextApi extends SkylarkValue {
+public interface CcCompilationContextApi extends StarlarkValue {
   @SkylarkCallable(
       name = "defines",
       doc =
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationOutputsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationOutputsApi.java
index eecdd69..0f839c5 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationOutputsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcCompilationOutputsApi.java
@@ -20,10 +20,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a structured representation of the compilation outputs of a C++ rule. */
 @SkylarkModule(
@@ -31,7 +31,7 @@
     category = SkylarkModuleCategory.BUILTIN,
     documented = true,
     doc = "Helper class containing CC compilation outputs.")
-public interface CcCompilationOutputsApi<FileT extends FileApi> extends SkylarkValue {
+public interface CcCompilationOutputsApi<FileT extends FileApi> extends StarlarkValue {
 
   /** @deprecated use {@link #getSkylarkObjects} or {@link #getSkylarkPicObjects}. */
   @SkylarkCallable(
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 8e4904a..e0381e7 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
@@ -18,11 +18,11 @@
 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.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.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Wrapper for every C++ linking provider. */
 @SkylarkModule(
@@ -31,7 +31,7 @@
     doc =
         "Immutable store of information needed for C++ linking that is aggregated across "
             + "dependencies.")
-public interface CcLinkingContextApi<FileT extends FileApi> extends SkylarkValue {
+public interface CcLinkingContextApi<FileT extends FileApi> extends StarlarkValue {
   @SkylarkCallable(
       name = "user_link_flags",
       doc = "Returns the list of user link flags passed as strings.",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingOutputsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingOutputsApi.java
index bae0f35..b1eb534 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingOutputsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcLinkingOutputsApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a structured representation of the linking outputs of a C++ rule. */
 @SkylarkModule(
@@ -26,7 +26,7 @@
     category = SkylarkModuleCategory.BUILTIN,
     documented = true,
     doc = "Helper class containing CC compilation outputs.")
-public interface CcLinkingOutputsApi<FileT extends FileApi> extends SkylarkValue {
+public interface CcLinkingOutputsApi<FileT extends FileApi> extends StarlarkValue {
   @SkylarkCallable(
       name = "library_to_link",
       structField = true,
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 fcd30f7..c9fa3db 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
@@ -24,7 +24,6 @@
 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.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;
@@ -32,6 +31,7 @@
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.lib.syntax.Tuple;
 
 /** Utilites related to C++ support. */
@@ -51,7 +51,7 @@
         SkylarkRuleContextT extends SkylarkRuleContextApi,
         CcToolchainConfigInfoT extends CcToolchainConfigInfoApi,
         CompilationOutputsT extends CcCompilationOutputsApi<FileT>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "CcToolchainInfo",
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 cd172a1..fca77d5 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
@@ -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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Object with information about C++ rules. Every C++-related target should provide this. */
 @SkylarkModule(
@@ -30,7 +30,7 @@
         "Provides access to information about C++ rules.  Every C++-related target provides this"
             + " struct, accessible as a <code>cc</code> field on <a"
             + " href=\"Target.html\">target</a>.")
-public interface CcSkylarkApiProviderApi<FileT extends FileApi> extends SkylarkValue {
+public interface CcSkylarkApiProviderApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
       name = "transitive_headers",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainVariablesApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainVariablesApi.java
index 6718b29..b5a39ce 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainVariablesApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainVariablesApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** Type encapsulating build variables. */
 @SkylarkModule(
@@ -24,4 +24,4 @@
     documented = false,
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Class encapsulating cc_toolchain variables.")
-public interface CcToolchainVariablesApi extends SkylarkValue {}
+public interface CcToolchainVariablesApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
index 9dd0594..97b8a0b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CompilationInfoApi.java
@@ -17,7 +17,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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Interface for a helper class containing CC compilation providers. */
 @SkylarkModule(
@@ -25,7 +25,7 @@
     documented = false,
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Helper class containing CC compilation providers.")
-public interface CompilationInfoApi extends SkylarkValue {
+public interface CompilationInfoApi extends StarlarkValue {
   @SkylarkCallable(name = "cc_compilation_outputs", structField = true, documented = false)
   CcCompilationOutputsApi<?> getCcCompilationOutputs();
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CppConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CppConfigurationApi.java
index dd403a1..c7d19a6 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CppConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CppConfigurationApi.java
@@ -18,8 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** The C++ configuration fragment. */
 @SkylarkModule(
@@ -27,7 +27,7 @@
     doc = "A configuration fragment for C++.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
 public interface CppConfigurationApi<InvalidConfigurationExceptionT extends Exception>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "copts",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/FeatureConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/FeatureConfigurationApi.java
index c99e7bf..9b76e1b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/FeatureConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/FeatureConfigurationApi.java
@@ -16,11 +16,11 @@
 
 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.StarlarkValue;
 
 /** Class used to construct command lines from CROSSTOOL features. */
 @SkylarkModule(
     name = "FeatureConfiguration",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Class used to construct command lines from CROSSTOOL features.")
-public interface FeatureConfigurationApi extends SkylarkValue {}
+public interface FeatureConfigurationApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LibraryToLinkApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LibraryToLinkApi.java
index 1f90a49..509c45a 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LibraryToLinkApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LibraryToLinkApi.java
@@ -18,8 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Sequence;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * A library the user can link to. This is different from a simple linker input in that it also has
@@ -29,7 +29,7 @@
     name = "LibraryToLink",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "A library the user can link against.")
-public interface LibraryToLinkApi<FileT extends FileApi> extends SkylarkValue {
+public interface LibraryToLinkApi<FileT extends FileApi> extends StarlarkValue {
   @SkylarkCallable(
       name = "objects",
       allowReturnNones = true,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkerInputApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkerInputApi.java
index fec7916..8828098 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkerInputApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkerInputApi.java
@@ -20,11 +20,11 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Either libraries, flags or other files that may be passed to the linker as inputs. */
 @SkylarkModule(
@@ -33,7 +33,7 @@
     doc = "Either libraries, flags or other files that may be passed to the linker as inputs.")
 public interface LinkerInputApi<
         LibraryToLinkT extends LibraryToLinkApi<FileT>, FileT extends FileApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
   @SkylarkCallable(
       name = "owner",
       doc = "Returns the owner of this LinkerInput.",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
index 7cf889c..d15b41c 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/LinkingInfoApi.java
@@ -17,7 +17,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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Helper object containing CC linking info objects. */
 @SkylarkModule(
@@ -25,7 +25,7 @@
     documented = false,
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Helper class containing CC linking providers.")
-public interface LinkingInfoApi extends SkylarkValue {
+public interface LinkingInfoApi extends StarlarkValue {
 
   @SkylarkCallable(name = "linking_context", structField = true, documented = false)
   CcLinkingContextApi<?> getCcLinkingContext();
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 ebc75ad..d5782c2 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
@@ -21,11 +21,11 @@
 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.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.StarlarkValue;
 
 /**
  * Helper class for the C++ aspects of {py,java,go}_wrap_cc. Provides methods to create the swig and
@@ -43,7 +43,7 @@
         FileT extends FileApi,
         CcCompilationContextT extends CcCompilationContextApi,
         WrapCcIncludeProviderT extends WrapCcIncludeProviderApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "feature_configuration",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/BUILD b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/BUILD
index 919e602..1817948 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/BUILD
@@ -22,6 +22,7 @@
     srcs = glob(["*.java"]),
     deps = [
         "//src/main/java/com/google/devtools/build/lib:skylarkinterface",
+        "//src/main/java/com/google/devtools/build/lib:syntax",
         "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi",
         "//third_party:guava",
     ],
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/GoConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/GoConfigurationApi.java
index d896d56..220fb00 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/GoConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go/GoConfigurationApi.java
@@ -16,11 +16,11 @@
 
 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.StarlarkValue;
 
 /** A configuration fragment for Go. */
 @SkylarkModule(
     name = "go",
     doc = "A configuration fragment for Go.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public interface GoConfigurationApi extends SkylarkValue {}
+public interface GoConfigurationApi extends StarlarkValue {}
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 5a4d3cb..cdfeea7 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
@@ -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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /**
@@ -31,7 +31,7 @@
     name = "java_annotation_processing",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Information about jars that are a result of annotation processing for a Java rule.")
-public interface JavaAnnotationProcessingApi<FileTypeT extends FileApi> extends SkylarkValue {
+public interface JavaAnnotationProcessingApi<FileTypeT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
     name = "enabled",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCcLinkParamsProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCcLinkParamsProviderApi.java
index 23295ba..877407b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCcLinkParamsProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCcLinkParamsProviderApi.java
@@ -21,9 +21,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A target that provides C++ libraries to be linked into Java targets. */
 @SkylarkModule(
@@ -34,7 +34,7 @@
             + "Information about the c++ libraries to be linked into Java targets.",
     documented = true,
     category = SkylarkModuleCategory.PROVIDER)
-public interface JavaCcLinkParamsProviderApi<CcInfoApiT extends CcInfoApi> extends SkylarkValue {
+public interface JavaCcLinkParamsProviderApi<CcInfoApiT extends CcInfoApi> extends StarlarkValue {
   /** Name of this info object. */
   public static String NAME = "JavaCcLinkParamsInfo";
 
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 429c62b..b1a87c9 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
@@ -25,13 +25,13 @@
 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.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.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Utilities for Java compilation support in Skylark. */
 @SkylarkModule(name = "java_common", doc = "Utilities for Java compilation support in Starlark.")
@@ -42,7 +42,7 @@
         JavaRuntimeT extends JavaRuntimeInfoApi,
         SkylarkRuleContextT extends SkylarkRuleContextApi,
         SkylarkActionFactoryT extends SkylarkActionFactoryApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "provider",
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 4611644..51243f3 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
@@ -19,15 +19,15 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Info object for compilation information for java rules. */
 @SkylarkModule(
     name = "java_compilation_info",
     category = SkylarkModuleCategory.PROVIDER,
     doc = "Provides access to compilation information for Java rules.")
-public interface JavaCompilationInfoProviderApi<FileT extends FileApi> extends SkylarkValue {
+public interface JavaCompilationInfoProviderApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(name = "javac_options", structField = true, doc = "Options to java compiler.")
   public ImmutableList<String> getJavacOpts();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaConfigurationApi.java
index 78ab970..dc8cbd1 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaConfigurationApi.java
@@ -19,14 +19,14 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A java compiler configuration. */
 @SkylarkModule(
     name = "java",
     doc = "A java compiler configuration.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public interface JavaConfigurationApi extends SkylarkValue {
+public interface JavaConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(name = "default_javac_flags", structField = true,
       doc = "The default flags for the Java compiler.")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java
index 7679b52..20e835d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Helper class for Java proto compilation. */
 @SkylarkModule(name = "java_proto_common", doc = "Helper class for Java proto compilation.")
@@ -29,7 +29,7 @@
         FileT extends FileApi,
         SkylarkRuleContextT extends SkylarkRuleContextApi,
         TransitiveInfoCollectionT extends TransitiveInfoCollectionApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "create_java_lite_proto_compile_action",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuleOutputJarsProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuleOutputJarsProviderApi.java
index faadd82..8a6b063 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuleOutputJarsProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuleOutputJarsProviderApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Info object about outputs of a Java rule. */
 @SkylarkModule(
@@ -27,7 +27,7 @@
     category = SkylarkModuleCategory.PROVIDER,
     doc = "Information about outputs of a Java rule.")
 public interface JavaRuleOutputJarsProviderApi<OutputJarT extends OutputJarApi<?>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(name = "jars", doc = "A list of jars the rule outputs.", structField = true)
   public ImmutableList<OutputJarT> getOutputJars();
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 3515609..5f96b9e 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
@@ -16,12 +16,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.Depset;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Provider for the runtime classpath contributions of a Java binary. */
 @SkylarkModule(name = "JavaRuntimeClasspathProvider", doc = "", documented = false)
-public interface JavaRuntimeClasspathProviderApi extends SkylarkValue {
+public interface JavaRuntimeClasspathProviderApi extends StarlarkValue {
 
   @SkylarkCallable(name = "runtime_classpath", documented = false, structField = true)
   public Depset /*<File>*/ getRuntimeClasspath();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaSkylarkApiProviderApi.java
index c6cd44b..b9909b6 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaSkylarkApiProviderApi.java
@@ -17,8 +17,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 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.skylarkinterface.StarlarkDeprecated;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Provides access to information about Java rules. Every Java-related target provides this struct,
@@ -33,4 +33,4 @@
             + " href=\"https://docs.bazel.build/versions/master/skylark/lib/JavaInfo.html\">JavaInfo</a>"
             + " instead.")
 @StarlarkDeprecated
-public interface JavaSkylarkApiProviderApi<FileT extends FileApi> extends SkylarkValue {}
+public interface JavaSkylarkApiProviderApi<FileT extends FileApi> extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/OutputJarApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/OutputJarApi.java
index 10cc305..4c2f404 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/OutputJarApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/OutputJarApi.java
@@ -18,15 +18,15 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Sequence;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A tuple of a java classes jar and its associated source and interface archives. */
 @SkylarkModule(
     name = "java_output",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Java classes jar, together with their associated source and interface archives.")
-public interface OutputJarApi<FileT extends FileApi> extends SkylarkValue {
+public interface OutputJarApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
     name = "class_jar",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/javascript/JsModuleInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/javascript/JsModuleInfoApi.java
index ddccfba..66b0cc0 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/javascript/JsModuleInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/javascript/JsModuleInfoApi.java
@@ -23,10 +23,10 @@
 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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Info object propagating information about protocol buffer sources. */
 @SkylarkModule(
@@ -53,7 +53,7 @@
               + " dependencies.",
       structField = true,
       enableOnlyWithFlag = FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API)
-  public SkylarkValue getFullPintoSources();
+  public StarlarkValue getFullPintoSources();
 
   /** Provider class for {@link JsModuleInfoApi} objects. */
   @SkylarkModule(name = "Provider", documented = false, doc = "")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/ConstraintCollectionApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/ConstraintCollectionApi.java
index 8c11e29..8561ff3 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/ConstraintCollectionApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/ConstraintCollectionApi.java
@@ -18,10 +18,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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import javax.annotation.Nullable;
 
 /** Info object representing data about a specific platform. */
@@ -34,7 +34,7 @@
 public interface ConstraintCollectionApi<
         ConstraintSettingInfoT extends ConstraintSettingInfoApi,
         ConstraintValueInfoT extends ConstraintValueInfoApi>
-    extends SkylarkIndexable, SkylarkValue {
+    extends SkylarkIndexable, StarlarkValue {
 
   @SkylarkCallable(
       name = "constraint_settings",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformCommonApi.java
index 6413346..6139273 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformCommonApi.java
@@ -17,14 +17,14 @@
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
 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.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Module containing functions to interact with the platform APIs. */
 @SkylarkModule(
     name = "platform_common",
     doc = "Functions for Starlark to interact with the platform APIs.")
-public interface PlatformCommonApi extends SkylarkValue {
+public interface PlatformCommonApi extends StarlarkValue {
   @SkylarkCallable(
       name = "TemplateVariableInfo",
       doc =
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformConfigurationApi.java
index c9ef392..8d217bf 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform/PlatformConfigurationApi.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.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.util.List;
 
 /** The platform configuration. */
@@ -28,7 +28,7 @@
     name = "platform",
     doc = "The platform configuration.",
     category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT)
-public interface PlatformConfigurationApi extends SkylarkValue {
+public interface PlatformConfigurationApi extends StarlarkValue {
 
   @SkylarkCallable(name = "host_platform", structField = true, doc = "The current host platform")
   Label getHostPlatform();
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoModuleApi.java
index 94d9d30..b608994 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto/ProtoModuleApi.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.proto;
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Interface for protocol buffers support in Bazel.
@@ -31,4 +31,4 @@
             + "to load this symbol from <a href=\"https://github.com/bazelbuild/rules_proto\">"
             + "rules_proto</a>"
             + "</p>")
-public interface ProtoModuleApi extends SkylarkValue {}
+public interface ProtoModuleApi extends StarlarkValue {}
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 fadeeae..75ff52f 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
@@ -22,16 +22,16 @@
 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.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.StarlarkValue;
 
 /** Provider instance for the Python rules. */
 @SkylarkModule(
     name = "PyInfo",
     doc = "Encapsulates information provided by the Python rules.",
     category = SkylarkModuleCategory.PROVIDER)
-public interface PyInfoApi<FileT extends FileApi> extends SkylarkValue {
+public interface PyInfoApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
       name = "transitive_sources",
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 365b307..a1d58b6 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
@@ -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.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.StarlarkValue;
 import javax.annotation.Nullable;
 
 /** Provider instance for {@code py_runtime}. */
@@ -41,7 +41,7 @@
             + "wrapper script that is capable of running a Python script passed on the command "
             + "line, following the same conventions as the standard CPython interpreter.",
     category = SkylarkModuleCategory.PROVIDER)
-public interface PyRuntimeInfoApi<FileT extends FileApi> extends SkylarkValue {
+public interface PyRuntimeInfoApi<FileT extends FileApi> extends StarlarkValue {
 
   @SkylarkCallable(
       name = "interpreter_path",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyStarlarkTransitionsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyStarlarkTransitionsApi.java
index 16295b0..7cc2994 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyStarlarkTransitionsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python/PyStarlarkTransitionsApi.java
@@ -16,8 +16,8 @@
 
 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.StarlarkSemantics.FlagIdentifier;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * DO NOT USE. Skarlark module exposing Python transitions for Python 2 to 3 migration purposes
@@ -29,7 +29,7 @@
         "DO NOT USE. This is intended for Python 2 to 3 migration purposes only. If you depend"
             + " on it, you will be broken when it is removed.",
     documented = false)
-public interface PyStarlarkTransitionsApi extends SkylarkValue {
+public interface PyStarlarkTransitionsApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "cfg",
@@ -42,5 +42,5 @@
       documented = false,
       structField = true,
       enableOnlyWithFlag = FlagIdentifier.EXPERIMENTAL_GOOGLE_LEGACY_API)
-  public SkylarkValue getTransition();
+  public StarlarkValue getTransition();
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/RepositoryPathApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/RepositoryPathApi.java
index 620bf19..da3d9e0 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/RepositoryPathApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/RepositoryPathApi.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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.io.IOException;
 
 /** A structure representing a file to be used inside a repository. */
@@ -28,7 +28,7 @@
     category = SkylarkModuleCategory.BUILTIN,
     doc = "A structure representing a file to be used inside a repository.")
 public interface RepositoryPathApi<RepositoryPathApiT extends RepositoryPathApi<?>>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
     name = "basename",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkExecutionResultApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkExecutionResultApi.java
index c0311af..b838811 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkExecutionResultApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkExecutionResultApi.java
@@ -17,7 +17,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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * A structure callable from Skylark that stores the result of repository_ctx.execute() method. It
@@ -31,7 +31,7 @@
         "A structure storing result of repository_ctx.execute() method. It contains the standard"
             + " output stream content, the standard error stream content and the execution return"
             + " code.")
-public interface SkylarkExecutionResultApi extends SkylarkValue {
+public interface SkylarkExecutionResultApi extends StarlarkValue {
   @SkylarkCallable(
       name = "return_code",
       structField = true,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkOSApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkOSApi.java
index 51a3b71..07aeb7d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkOSApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkOSApi.java
@@ -18,14 +18,14 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** A Skylark structure to deliver information about the system we are running on. */
 @SkylarkModule(
     name = "repository_os",
     category = SkylarkModuleCategory.BUILTIN,
     doc = "Various data about the current platform Bazel is running on.")
-public interface SkylarkOSApi extends SkylarkValue {
+public interface SkylarkOSApi extends StarlarkValue {
   @SkylarkCallable(name = "environ", structField = true, doc = "The list of environment variables.")
   public ImmutableMap<String, String> getEnvironmentVariables();
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkRepositoryContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkRepositoryContextApi.java
index 4dfd033..aa1f5f2 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkRepositoryContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository/SkylarkRepositoryContextApi.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.SkylarkModuleCategory;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 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.StarlarkValue;
 
 /** Skylark API for the repository_rule's context. */
 @SkylarkModule(
@@ -37,7 +37,7 @@
             + " as an argument to the <code>implementation</code> function when you create a"
             + " repository rule.")
 public interface SkylarkRepositoryContextApi<RepositoryFunctionExceptionT extends Throwable>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "name",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/BUILD b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/BUILD
index 4f411ae..f10b14c 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/BUILD
@@ -20,7 +20,7 @@
     name = "stubs",
     srcs = glob(["*.java"]),
     deps = [
-        "//src/main/java/com/google/devtools/build/lib:skylarkinterface",
+        "//src/main/java/com/google/devtools/build/lib:syntax",
         "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi",
     ],
 )
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/ProviderStub.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/ProviderStub.java
index 356ceac..49e5a4d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/ProviderStub.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/ProviderStub.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.stubs;
 
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Stub implementation of {@link ProviderApi}. Should only be used for experimental, unimplemented
@@ -24,7 +24,7 @@
 public final class ProviderStub implements ProviderApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<unimplemented provider>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/SkylarkAspectStub.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/SkylarkAspectStub.java
index 7a7ec26..be0cc8e 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/SkylarkAspectStub.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs/SkylarkAspectStub.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.skylarkbuildapi.stubs;
 
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAspectApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Stub implementation of {@link SkylarkAspectApi}. Should only be used for experimental,
@@ -23,7 +23,7 @@
  */
 public final class SkylarkAspectStub implements SkylarkAspectApi {
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<unimplemented aspect>");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureApi.java
index c924687..cdb821c 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisFailureApi.java
@@ -17,7 +17,7 @@
 import com.google.devtools.build.lib.cmdline.Label;
 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.StarlarkValue;
 
 /**
  * Encapsulates information about an analysis-phase error which would have occurred during a build.
@@ -32,7 +32,7 @@
             + "analysis will instead propagate an <code>AnalysisFailureInfo</code> object "
             + "containing one or more instances of this object.",
     documented = false)
-public interface AnalysisFailureApi extends SkylarkValue {
+public interface AnalysisFailureApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "label",
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 d0fb42e..5fe2498 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
@@ -17,38 +17,33 @@
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
 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.StarlarkValue;
 
 /**
  * Encapsulates information about an analysis-phase error which would have occurred during a build.
  */
 @SkylarkModule(
     name = "AnalysisFailureInfo",
-    doc = "<b>Experimental. This API is experimental and subject to change at any time</b><p> "
-        + "Encapsulates information about an analysis-phase error which would have occurred during "
-        + "a build. In most builds, an analysis-phase error would result in a build failure "
-        + "and the error description would be output to the console. However, if "
-        + "<code>--allow_analysis_failure</code> is set, targets which would otherwise fail in "
-        + "analysis will instead propagate an instance of this object (and no other provider "
-        + "instances). "
-        + ""
-        + "<p>Under <code>--allow_analysis_failure</code>, <code>AnalysisFailureInfo</code> "
-        + "objects are automatically re-propagated up a dependency tree using the following "
-        + "logic:<ul>"
-        + ""
-        + "<li>If a target fails but none of its direct dependencies propagated "
-        + "<code>AnalysisFailureInfo</code>, then propagate an instance of this "
-        + "provider containing an <code>AnalysisFailure</code> object describing the "
-        + "failure.</li> "
-        + ""
-        + "<li>If one or more of a target's dependencies propagated "
-        + "<code>AnalysisFailureInfo</code>, then propagate a provider with "
-        + "<code>causes</code> equal to the union of the <code>causes</code> of the "
-        + "dependencies.</li></ul>",
+    doc =
+        "<b>Experimental. This API is experimental and subject to change at any time</b><p>"
+            + " Encapsulates information about an analysis-phase error which would have occurred"
+            + " during a build. In most builds, an analysis-phase error would result in a build"
+            + " failure and the error description would be output to the console. However, if"
+            + " <code>--allow_analysis_failure</code> is set, targets which would otherwise fail"
+            + " in analysis will instead propagate an instance of this object (and no other"
+            + " provider instances). <p>Under <code>--allow_analysis_failure</code>,"
+            + " <code>AnalysisFailureInfo</code> objects are automatically re-propagated up a"
+            + " dependency tree using the following logic:<ul><li>If a target fails but none of"
+            + " its direct dependencies propagated <code>AnalysisFailureInfo</code>, then"
+            + " propagate an instance of this provider containing an <code>AnalysisFailure</code>"
+            + " object describing the failure.</li> <li>If one or more of a target's dependencies"
+            + " propagated <code>AnalysisFailureInfo</code>, then propagate a provider with"
+            + " <code>causes</code> equal to the union of the <code>causes</code> of the "
+            + "dependencies.</li></ul>",
     documented = false)
 public interface AnalysisFailureInfoApi<AnalysisFailureApiT extends AnalysisFailureApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "causes",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisTestResultInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisTestResultInfoApi.java
index 4f863ff..75e2ab2 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisTestResultInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/AnalysisTestResultInfoApi.java
@@ -19,7 +19,7 @@
 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.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /**
  * Encapsulates information about an analysis-phase error which would have occurred during a build.
@@ -33,7 +33,7 @@
             + " created with <code>analysis_test=True</code> <b>must</b> return an instance of"
             + " this provider, and non-analysis-phase test rules <b>cannot</b> return this "
             + "provider.")
-public interface AnalysisTestResultInfoApi extends SkylarkValue {
+public interface AnalysisTestResultInfoApi extends StarlarkValue {
 
   @SkylarkCallable(
       name = "success",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java
index 5f2f1b3..f4dfeec 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java
@@ -19,16 +19,16 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.EvalException;
 import com.google.devtools.build.lib.syntax.Sequence;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Helper functions for Starlark to access coverage-related infrastructure */
 @SkylarkModule(
     name = "coverage_common",
     doc = "Helper functions to access coverage-related infrastructure.")
 public interface CoverageCommonApi<RuleContextT extends SkylarkRuleContextApi>
-    extends SkylarkValue {
+    extends StarlarkValue {
 
   @SkylarkCallable(
       name = "instrumented_files_info",
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
index 67ba206..c732afe 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
@@ -16,7 +16,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.StarlarkValue;
 
 /** Contains information about instrumented files sources and instrumentation metadata. */
 @SkylarkModule(
@@ -27,4 +27,4 @@
             + "for purposes of code coverage. Rule targets which return an instance of this "
             + "provider signal to the build system that certain sources should be targeted for "
             + "code coverage analysis.")
-public interface InstrumentedFilesInfoApi extends SkylarkValue {}
+public interface InstrumentedFilesInfoApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingModuleApi.java
index 175a3d1..8a06445 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingModuleApi.java
@@ -17,15 +17,15 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 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.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 
 /** Helper module for accessing test infrastructure. */
 @SkylarkModule(
     name = "testing",
     doc = "Helper methods for Starlark to access testing infrastructure.")
-public interface TestingModuleApi extends SkylarkValue {
+public interface TestingModuleApi extends StarlarkValue {
 
   // TODO(bazel-team): Change this function to be the actual ExecutionInfo.PROVIDER.
   @SkylarkCallable(
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 2fc14b6..8ffa9ac 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
@@ -19,7 +19,6 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSetView;
 import com.google.devtools.build.lib.skylarkdebugging.SkylarkDebuggingProtos;
 import com.google.devtools.build.lib.skylarkdebugging.SkylarkDebuggingProtos.Value;
-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;
@@ -27,6 +26,7 @@
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.MethodDescriptor;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import java.lang.reflect.Array;
 import java.util.Map;
 import java.util.Set;
@@ -73,9 +73,9 @@
     if (value.getClass().isArray()) {
       return Array.getLength(value) > 0;
     }
-    if (value instanceof ClassObject || value instanceof SkylarkValue) {
+    if (value instanceof ClassObject || value instanceof StarlarkValue) {
       // assuming ClassObject's have at least one child as a temporary optimization
-      // TODO(bazel-team): remove once child-listing logic is moved to SkylarkValue
+      // TODO(bazel-team): remove once child-listing logic is moved to StarlarkValue
       return true;
     }
     // fallback to assuming there are no children
@@ -101,12 +101,12 @@
     if (value.getClass().isArray()) {
       return getArrayChildren(objectMap, value);
     }
-    // TODO(bazel-team): move child-listing logic to SkylarkValue where practical
+    // TODO(bazel-team): move child-listing logic to StarlarkValue where practical
     if (value instanceof ClassObject) {
       return getChildren(objectMap, (ClassObject) value);
     }
-    if (value instanceof SkylarkValue) {
-      return getChildren(objectMap, (SkylarkValue) value);
+    if (value instanceof StarlarkValue) {
+      return getChildren(objectMap, (StarlarkValue) value);
     }
     // fallback to assuming there are no children
     return ImmutableList.of();
@@ -137,7 +137,7 @@
   }
 
   private static ImmutableList<Value> getChildren(
-      ThreadObjectMap objectMap, SkylarkValue skylarkValue) {
+      ThreadObjectMap objectMap, StarlarkValue skylarkValue) {
     Set<String> fieldNames;
     try {
       fieldNames = CallUtils.getStructFieldNames(skylarkValue.getClass());
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkModule.java b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkModule.java
index bbc5606..5fb9d93 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkModule.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkModule.java
@@ -45,10 +45,10 @@
  * them to define different methods, while annotating {@link Sequence} allows them to be identified
  * as a single type for the purpose of type checking, documentation, and error messages.
  *
- * <p>All {@code @SkylarkModule}-annotated types must implement {@link SkylarkValue}. Nearly all
- * non-abstract implementations of {@link SkylarkValue} have or inherit a {@code @SkylarkModule}
+ * <p>All {@code @SkylarkModule}-annotated types must implement {@link StarlarkValue}. Nearly all
+ * non-abstract implementations of {@link StarlarkValue} have or inherit a {@code @SkylarkModule}
  * annotation. (It is possible, though quite unusual, to declare an implementation of {@code
- * SkylarkValue} without using the annotation mechanism defined in this package. {@code
+ * StarlarkValue} without using the annotation mechanism defined in this package. {@code
  * StarlarkFunction} is one example.)
  */
 @Target({ElementType.TYPE})
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkPrinter.java b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkPrinter.java
deleted file mode 100644
index 47f6614..0000000
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkPrinter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2017 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.build.lib.skylarkinterface;
-
-import java.util.List;
-import javax.annotation.Nullable;
-
-/**
- * An interface for Printer.BasePrinter
- *
- * <p>Allows passing Printer.BasePrinter instances to classes that can't import Printer directly
- * because of circular dependencies.
- */
-// TODO(adonovan): eliminate, replacing all references by syntax.BasePrinter,
-// which should be renamed Printer. The printList methods can be expressed as static helpers,
-// but they are so trivial they should just be inlined.
-public interface SkylarkPrinter {
-  /** Append a char to the printer's buffer */
-  SkylarkPrinter append(char c);
-
-  /** Append a char sequence to the printer's buffer */
-  SkylarkPrinter append(CharSequence s);
-
-  /**
-   * Prints a list to the printer's buffer. All list items are rendered with {@code repr}.
-   *
-   * @param list the list
-   * @param isTuple if true, uses parentheses, otherwise, uses square brackets. Also one-element
-   *     tuples are rendered with a comma after the element.
-   * @return SkylarkPrinter
-   */
-  SkylarkPrinter printList(Iterable<?> list, boolean isTuple);
-
-  /**
-   * Prints a list to the printer's buffer. All list items are rendered with {@code repr}.
-   *
-   * @param list the list of objects to repr (each as with repr)
-   * @param before a string to print before the list items, e.g. an opening bracket
-   * @param separator a separator to print between items
-   * @param after a string to print after the list items, e.g. a closing bracket
-   * @param singletonTerminator null or a string to print after the list if it is a singleton.
-   *     The singleton case is notably relied upon in python syntax to distinguish a tuple of size
-   *     one such as ("foo",) from a merely parenthesized object such as ("foo")
-   * @return SkylarkPrinter
-   */
-  SkylarkPrinter printList(
-      Iterable<?> list, String before, String separator, String after,
-      @Nullable String singletonTerminator);
-
-  /**
-   * Renders an object with {@code repr} and append to the printer's buffer.
-   */
-  SkylarkPrinter repr(Object o);
-
-  /**
-   * Performs Python-style string formatting, as per {@code pattern % tuple}.
-   * Limitations: only {@code %d %s %r %%} are supported.
-   *
-   * @param pattern a format string
-   * @param arguments an array containing positional arguments
-   * @return SkylarkPrinter
-   */
-  SkylarkPrinter format(String pattern, Object... arguments);
-
-  /**
-   * Performs Python-style string formatting, as per {@code pattern % tuple}.
-   * Limitations: only {@code %d %s %r %%} are supported.
-   *
-   * @param pattern a format string
-   * @param arguments a list containing positional arguments
-   * @return SkylarkPrinter
-   */
-  SkylarkPrinter formatWithList(String pattern, List<?> arguments);
-}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/processor/SkylarkCallableProcessor.java b/src/main/java/com/google/devtools/build/lib/skylarkinterface/processor/SkylarkCallableProcessor.java
index 64bb882..f0da506 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/processor/SkylarkCallableProcessor.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkinterface/processor/SkylarkCallableProcessor.java
@@ -66,7 +66,7 @@
  *       exclusively.
  *   <li>Noneable parameters must have Java parameter type Object, as the actual value may be either
  *       {@code None} or some other value, which do not share a superclass other than Object (or
- *       SkylarkValue, which is typically no more descriptive than Object).
+ *       StarlarkValue, which is typically no more descriptive than Object).
  *   <li>Each parameter must be positional or named (or both).
  *   <li>Positional-only parameters must be specified before any named parameters.
  *   <li>Positional parameters must be specified before any non-positional parameters.
@@ -76,7 +76,7 @@
  *   <li>Each class may only have one annotated method with selfCall=true.
  *   <li>A method annotated with selfCall=true must have a non-empty name.
  *   <li>A method annotated with selfCall=true must have structField=false.
- *   <li>The method's class must implement SkylarkValue.
+ *   <li>The method's class must implement StarlarkValue.
  *   <li>The class of the declared result type, if final, must be accepted by {@link
  *       Starlark#fromJava}.
  * </ul>
@@ -135,16 +135,15 @@
     TypeMirror booleanType = getType("java.lang.Boolean");
     TypeMirror listType = getType("java.util.List");
     TypeMirror mapType = getType("java.util.Map");
-    TypeMirror skylarkValueType =
-        getType("com.google.devtools.build.lib.skylarkinterface.SkylarkValue");
+    TypeMirror skylarkValueType = getType("com.google.devtools.build.lib.syntax.StarlarkValue");
 
-    // Ensure SkylarkModule-annotated classes implement SkylarkValue.
+    // Ensure SkylarkModule-annotated classes implement StarlarkValue.
     for (Element cls : roundEnv.getElementsAnnotatedWith(SkylarkModule.class)) {
       if (!types.isAssignable(cls.asType(), skylarkValueType)) {
         error(
             cls,
             String.format(
-                "class %s has @SkylarkModule annotation but does not implement SkylarkValue",
+                "class %s has @SkylarkModule annotation but does not implement StarlarkValue",
                 cls.getSimpleName()));
       }
     }
@@ -152,7 +151,7 @@
     // TODO(adonovan): reject a SkylarkCallable-annotated method whose class doesn't have (or
     // inherit) a SkylarkModule documentation annotation.
 
-    // Only SkylarkGlobalLibrary-annotated classes, and those that implement SkylarkValue,
+    // Only SkylarkGlobalLibrary-annotated classes, and those that implement StarlarkValue,
     // are allowed SkylarkCallable-annotated methods.
     Set<Element> okClasses =
         new HashSet<>(roundEnv.getElementsAnnotatedWith(SkylarkGlobalLibrary.class));
@@ -210,14 +209,14 @@
       }
 
       // Check that the method's class is SkylarkGlobalLibrary-annotated,
-      // or implements SkylarkValue, or an error has already been reported.
+      // or implements StarlarkValue, or an error has already been reported.
       Element cls = methodElement.getEnclosingElement();
       if (okClasses.add(cls) && !types.isAssignable(cls.asType(), skylarkValueType)) {
         error(
             cls,
             String.format(
                 "method %s has @SkylarkCallable annotation but enclosing class %s does not"
-                    + " implement SkylarkValue nor has @SkylarkGlobalLibrary annotation",
+                    + " implement StarlarkValue nor has @SkylarkGlobalLibrary annotation",
                 methodElement.getSimpleName(), cls.getSimpleName()));
       }
     }
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 d8b2146..7180f6c 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BUILD
@@ -130,6 +130,7 @@
         "StarlarkList.java",
         "StarlarkMutable.java",
         "StarlarkThread.java",
+        "StarlarkValue.java",
         "StringModule.java",
         "Tuple.java",
     ],
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
index aa86f4b..90325f0 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
@@ -20,7 +20,6 @@
 import com.google.common.collect.Ordering;
 import com.google.common.collect.Sets;
 import com.google.devtools.build.lib.events.Location;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -356,7 +355,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<function " + getName() + ">");
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java
index ef5851e..292139a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java
@@ -17,7 +17,6 @@
 import com.google.devtools.build.lib.profiler.Profiler;
 import com.google.devtools.build.lib.profiler.ProfilerTask;
 import com.google.devtools.build.lib.profiler.SilentCloseable;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.Nullable;
@@ -83,7 +82,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<built-in function " + methodName + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index 537f8ae..3f9a58f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -20,7 +20,6 @@
 import com.google.devtools.build.lib.profiler.Profiler;
 import com.google.devtools.build.lib.profiler.ProfilerTask;
 import com.google.devtools.build.lib.profiler.SilentCloseable;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.StarlarkThread.LexicalFrame;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -229,7 +228,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("<built-in function " + getName() + ">");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Depset.java b/src/main/java/com/google/devtools/build/lib/syntax/Depset.java
index aebfc0f..c445a9f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Depset.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Depset.java
@@ -25,8 +25,6 @@
 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.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import java.util.Collection;
 import java.util.List;
 import javax.annotation.Nullable;
@@ -89,7 +87,7 @@
             + " may interfere with the ordering semantics.")
 @Immutable
 @AutoCodec
-public final class Depset implements SkylarkValue {
+public final class Depset implements StarlarkValue {
   private final SkylarkType contentType;
   private final NestedSet<?> set;
   @Nullable private final ImmutableList<Object> items;
@@ -391,7 +389,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("depset(");
     printer.printList(set, "[", ", ", "]", null);
     Order order = getOrder();
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Dict.java b/src/main/java/com/google/devtools/build/lib/syntax/Dict.java
index 31e3c8e..76d957b 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Dict.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Dict.java
@@ -20,7 +20,6 @@
 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.skylarkinterface.SkylarkPrinter;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -420,7 +419,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.printList(entrySet(), "{", ", ", "}", 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 15ce13a..70eed1a 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
@@ -23,7 +23,6 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Concatable.Concatter;
 import com.google.devtools.build.lib.util.SpellChecker;
 import java.util.Collection;
@@ -132,8 +131,8 @@
    * @return true if the object is known to be a hashable value.
    */
   public static boolean isHashable(Object o) {
-    if (o instanceof SkylarkValue) {
-      return ((SkylarkValue) o).isHashable();
+    if (o instanceof StarlarkValue) {
+      return ((StarlarkValue) o).isHashable();
     }
     return isImmutable(o.getClass());
   }
@@ -146,8 +145,8 @@
    */
   // 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();
+    if (o instanceof StarlarkValue) {
+      return ((StarlarkValue) o).isImmutable();
     }
     return isImmutable(o.getClass());
   }
@@ -191,14 +190,14 @@
       return c;
     }
     // TODO(bazel-team): We should require all Skylark-addressable values that aren't builtin types
-    // (String/Boolean/Integer) to implement SkylarkValue. We should also require them to have a
+    // (String/Boolean/Integer) to implement StarlarkValue. We should also require them to have a
     // (possibly inherited) @SkylarkModule annotation.
     Class<?> parent = SkylarkInterfaceUtils.getParentWithSkylarkModule(c);
     if (parent != null) {
       return parent;
     }
     Preconditions.checkArgument(
-        SkylarkValue.class.isAssignableFrom(c),
+        StarlarkValue.class.isAssignableFrom(c),
         "%s is not allowed as a Starlark value (getSkylarkType() failed)",
         c);
     return c;
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 3391638..07735fc 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
@@ -14,7 +14,6 @@
 
 package com.google.devtools.build.lib.syntax;
 
-import static java.util.stream.Collectors.joining;
 
 import com.google.common.base.Ascii;
 import com.google.common.collect.ImmutableList;
@@ -31,7 +30,6 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 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.EvalUtils.ComparisonException;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import java.util.ArrayDeque;
@@ -872,17 +870,23 @@
       extraPositionals = @Param(name = "args", doc = "The objects to print."),
       useLocation = true,
       useStarlarkThread = true)
-  public NoneType print(String sep, Sequence<?> starargs, Location loc, StarlarkThread thread)
+  public NoneType print(String sep, Sequence<?> args, Location loc, StarlarkThread thread)
       throws EvalException {
     try {
-      String msg = starargs.stream().map(Printer::debugPrint).collect(joining(sep));
+      Printer p = Printer.getPrinter();
+      String separator = "";
+      for (Object x : args) {
+        p.append(separator);
+        p.debugPrint(x);
+        separator = sep;
+      }
       // As part of the integration test "skylark_flag_test.sh", if the
       // "--internal_skylark_flag_test_canary" flag is enabled, append an extra marker string to
       // the output.
       if (thread.getSemantics().internalSkylarkFlagTestCanary()) {
-        msg += "<== skylark flag test ==>";
+        p.append("<== skylark flag test ==>");
       }
-      thread.handleEvent(Event.debug(loc, msg));
+      thread.handleEvent(Event.debug(loc, p.toString()));
       return Starlark.NONE;
     } catch (NestedSetDepthException exception) {
       throw new EvalException(
@@ -1210,7 +1214,7 @@
               + "100 % -7  # -5 (unlike in some other languages)\n"
               + "int(\"18\")\n"
               + "</pre>")
-  static final class IntModule implements SkylarkValue {} // (documentation only)
+  static final class IntModule implements StarlarkValue {} // (documentation only)
 
   /** Skylark bool type. */
   @SkylarkModule(
@@ -1222,5 +1226,5 @@
               + "<a href=\"globals.html#False\">False</a>. "
               + "Any value can be converted to a boolean using the "
               + "<a href=\"globals.html#bool\">bool</a> function.")
-  static final class BoolModule implements SkylarkValue {} // (documentation only)
+  static final class BoolModule implements StarlarkValue {} // (documentation only)
 }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java b/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java
index ed9614d..a5effbe 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java
@@ -16,13 +16,11 @@
 
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 
 /** The type of the Starlark None value. */
 @SkylarkModule(name = "NoneType", documented = false, doc = "The type of the Starlark None value.")
 @Immutable
-public final class NoneType implements SkylarkValue {
+public final class NoneType implements StarlarkValue {
 
   static final NoneType NONE = new NoneType();
 
@@ -44,7 +42,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.append("None");
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
index 7e4548b..70016c5 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
@@ -15,8 +15,6 @@
 
 import com.google.common.base.Strings;
 import com.google.devtools.build.lib.events.Location;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Formattable;
@@ -28,8 +26,73 @@
 import java.util.UnknownFormatConversionException;
 import javax.annotation.Nullable;
 
-/** (Pretty) Printing of Skylark values */
-public class Printer {
+/** A printer of Starlark values. */
+// TODO(adonovan): merge BasePrinter into Printer and simplify.
+public abstract class Printer {
+
+  /** Append a char to the printer's buffer */
+  public abstract Printer append(char c);
+
+  /** Append a char sequence to the printer's buffer */
+  public abstract Printer append(CharSequence s);
+
+  /**
+   * Prints a list to the printer's buffer. All list items are rendered with {@code repr}.
+   *
+   * @param list the list
+   * @param isTuple if true, uses parentheses, otherwise, uses square brackets. Also one-element
+   *     tuples are rendered with a comma after the element.
+   * @return Printer
+   */
+  public abstract Printer printList(Iterable<?> list, boolean isTuple);
+
+  /**
+   * Prints a list to the printer's buffer. All list items are rendered with {@code repr}.
+   *
+   * @param list the list of objects to repr (each as with repr)
+   * @param before a string to print before the list items, e.g. an opening bracket
+   * @param separator a separator to print between items
+   * @param after a string to print after the list items, e.g. a closing bracket
+   * @param singletonTerminator null or a string to print after the list if it is a singleton. The
+   *     singleton case is notably relied upon in python syntax to distinguish a tuple of size one
+   *     such as ("foo",) from a merely parenthesized object such as ("foo")
+   * @return Printer
+   */
+  public abstract Printer printList(
+      Iterable<?> list,
+      String before,
+      String separator,
+      String after,
+      @Nullable String singletonTerminator);
+
+  /** Renders an object with {@code repr} and append to the printer's buffer. */
+  public abstract Printer repr(Object o);
+
+  /** Renders an object with {@code str} and append to the printer's buffer. */
+  public abstract Printer str(Object o);
+
+  /** Renders an object in the style of {@code print} and append to the printer's buffer. */
+  public abstract Printer debugPrint(Object o);
+
+  /**
+   * Performs Python-style string formatting, as per {@code pattern % tuple}. Limitations: only
+   * {@code %d %s %r %%} are supported.
+   *
+   * @param pattern a format string
+   * @param arguments an array containing positional arguments
+   * @return Printer
+   */
+  public abstract Printer format(String pattern, Object... arguments);
+
+  /**
+   * Performs Python-style string formatting, as per {@code pattern % tuple}. Limitations: only
+   * {@code %d %s %r %%} are supported.
+   *
+   * @param pattern a format string
+   * @param arguments a list containing positional arguments
+   * @return Printer
+   */
+  public abstract Printer formatWithList(String pattern, List<?> arguments);
 
   /**
    * Creates an instance of {@link BasePrinter} that wraps an existing buffer.
@@ -69,13 +132,6 @@
 
   private Printer() {}
 
-  // These static methods proxy to the similar methods of BasePrinter
-
-  /** Format an object with Skylark's {@code debugPrint}. */
-  static String debugPrint(Object x) {
-    return getPrinter().debugPrint(x).toString();
-  }
-
   /**
    * Perform Python-style string formatting, lazily.
    *
@@ -140,7 +196,7 @@
   }
 
   /** Actual class that implements Printer API */
-  public static class BasePrinter implements SkylarkPrinter {
+  public static class BasePrinter extends Printer {
     // Methods of this class should not recurse through static methods of Printer
 
     protected final Appendable buffer;
@@ -189,8 +245,8 @@
      * @return the buffer, in fluent style
      */
     public BasePrinter debugPrint(Object o) {
-      if (o instanceof SkylarkValue) {
-        ((SkylarkValue) o).debugPrint(this);
+      if (o instanceof StarlarkValue) {
+        ((StarlarkValue) o).debugPrint(this);
         return this;
       }
 
@@ -202,11 +258,11 @@
      * quote strings at top level, though strings and other values appearing as elements of other
      * structures are quoted as if by {@code repr}.
      *
-     * <p>Implementations of SkylarkValue may define their own behavior of {@code str}.
+     * <p>Implementations of StarlarkValue may define their own behavior of {@code str}.
      */
     public BasePrinter str(Object o) {
-      if (o instanceof SkylarkValue) {
-        ((SkylarkValue) o).str(this);
+      if (o instanceof StarlarkValue) {
+        ((StarlarkValue) o).str(this);
         return this;
       }
 
@@ -220,7 +276,7 @@
      * Prints the quoted representation of Starlark value {@code o}. The quoted form is often a
      * Starlark expression that evaluates to {@code o}.
      *
-     * <p>Implementations of SkylarkValue may define their own behavior of {@code repr}.
+     * <p>Implementations of StarlarkValue may define their own behavior of {@code repr}.
      *
      * <p>In addition to Starlark values, {@code repr} also prints instances of classes Map, List,
      * Map.Entry, Class, Node, or Location. To avoid nondeterminism, all other values are printed
@@ -233,8 +289,8 @@
         // values such as Locations or ASTs.
         this.append("null");
 
-      } else if (o instanceof SkylarkValue) {
-        ((SkylarkValue) o).repr(this);
+      } else if (o instanceof StarlarkValue) {
+        ((StarlarkValue) o).repr(this);
 
       } else if (o instanceof String) {
         writeString((String) o);
@@ -278,7 +334,7 @@
         // but Starlark code cannot access values of o that would reach here,
         // and native code is already trusted to be deterministic.
         // TODO(adonovan): replace this with a default behavior of this.append(o),
-        // once we require that all @Skylark-annotated classes implement SkylarkValue.
+        // once we require that all @Skylark-annotated classes implement StarlarkValue.
         // (After all, Java code can call String.format, which also calls toString.)
         this.append("<unknown object " + o.getClass().getName() + ">");
       }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java b/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
index edd38b3..df99790 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
@@ -20,7 +20,6 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import java.util.AbstractList;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
@@ -164,7 +163,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     if (step == 1) {
       printer.format("range(%d, %d)", start, stop);
     } else {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java b/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
index f50d01e..251bf00 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SelectorList.java
@@ -19,8 +19,6 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import java.util.List;
 import java.util.Objects;
 
@@ -42,12 +40,11 @@
  * </pre>
  */
 @SkylarkModule(
-  name = "select",
-  doc = "A selector between configuration-dependent entities.",
-  documented = false
-)
+    name = "select",
+    doc = "A selector between configuration-dependent entities.",
+    documented = false)
 @AutoCodec
-public final class SelectorList implements SkylarkValue {
+public final class SelectorList implements StarlarkValue {
   // TODO(build-team): Selectors are currently split between .packages and .syntax . They should
   // really all be in .packages, but then we'd need to figure out a way how to extend binary
   // operators, which is a non-trivial problem.
@@ -168,7 +165,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.printList(elements, "", " + ", "", null);
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java b/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
index c4bd73d..97c5005 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SelectorValue.java
@@ -18,8 +18,6 @@
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import java.util.Map;
 
 /**
@@ -35,12 +33,11 @@
  * </pre>
  */
 @SkylarkModule(
-  name = "selector",
-  doc = "A selector between configuration-dependent entities.",
-  documented = false
-)
+    name = "selector",
+    doc = "A selector between configuration-dependent entities.",
+    documented = false)
 @AutoCodec
-public final class SelectorValue implements SkylarkValue {
+public final class SelectorValue implements StarlarkValue {
   // TODO(bazel-team): Selectors are currently split between .packages and .syntax . They should
   // really all be in .packages, but then we'd need to figure out a way how to extend binary
   // operators, which is a non-trivial problem.
@@ -77,7 +74,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.format("select(%r)", dictionary);
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Sequence.java b/src/main/java/com/google/devtools/build/lib/syntax/Sequence.java
index 9c1ce2b..270e112 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Sequence.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Sequence.java
@@ -18,7 +18,6 @@
 import com.google.devtools.build.lib.events.Location;
 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 java.util.Collections;
 import java.util.List;
 import java.util.RandomAccess;
@@ -35,7 +34,7 @@
     documented = false,
     category = SkylarkModuleCategory.BUILTIN,
     doc = "common type of lists and tuples.")
-public interface Sequence<E> extends SkylarkValue, List<E>, RandomAccess, SkylarkIndexable {
+public interface Sequence<E> extends StarlarkValue, List<E>, RandomAccess, SkylarkIndexable {
 
   @Override
   default boolean truth() {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkClassObject.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkClassObject.java
index 64e6fc6..1532afe 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkClassObject.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkClassObject.java
@@ -20,10 +20,10 @@
  * A marker interface for a {@link ClassObject} whose {@link #getValue} always returns a
  * Skylark-friendly value, with no defensive conversion required.
  *
- * <p>An value is Skylark-friendly if its class (or a supertype) implements
- * {@link com.google.devtools.build.lib.skylarkinterface.SkylarkValue},
- * is annotated with {@link com.google.devtools.build.lib.skylarkinterface.SkylarkModule}, or is a
- * Skylark primitive like {@link String}.
+ * <p>An value is Skylark-friendly if its class (or a supertype) implements {@link
+ * com.google.devtools.build.lib.syntax.StarlarkValue}, is annotated with {@link
+ * com.google.devtools.build.lib.skylarkinterface.SkylarkModule}, or is a Skylark primitive like
+ * {@link String}.
  *
  * <p>Ideally, this class should not be needed, and all {@link ClassObject}s should only expose
  * Skylark-friendly values.
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java b/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
index 338bb6f..4623569 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
@@ -17,8 +17,6 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.util.Pair;
 import java.util.List;
 import java.util.Map;
@@ -45,7 +43,7 @@
   public static final Object UNBOUND = new UnboundMarker();
 
   @Immutable
-  private static final class UnboundMarker implements SkylarkValue {
+  private static final class UnboundMarker implements StarlarkValue {
     private UnboundMarker() {}
 
     @Override
@@ -59,7 +57,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {
+    public void repr(Printer printer) {
       printer.append("<unbound>");
     }
   }
@@ -84,7 +82,7 @@
    * StarlarkValue.
    */
   public static boolean valid(Object x) {
-    return x instanceof SkylarkValue
+    return x instanceof StarlarkValue
         || x instanceof String
         || x instanceof Boolean
         || x instanceof Integer;
@@ -131,8 +129,8 @@
   public static boolean truth(Object x) {
     if (x instanceof Boolean) {
       return (Boolean) x;
-    } else if (x instanceof SkylarkValue) {
-      return ((SkylarkValue) x).truth();
+    } else if (x instanceof StarlarkValue) {
+      return ((StarlarkValue) x).truth();
     } else if (x instanceof String) {
       return !((String) x).isEmpty();
     } else if (x instanceof Integer) {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkCallable.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkCallable.java
index 1f74915..b4d488d 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkCallable.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkCallable.java
@@ -15,7 +15,6 @@
 package com.google.devtools.build.lib.syntax;
 
 import com.google.devtools.build.lib.events.Location;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.Nullable;
@@ -25,7 +24,7 @@
  * Starlark like a function, including built-in functions and methods, Starlark functions, and
  * application-defined objects (such as rules, aspects, and providers in Bazel).
  */
-public interface StarlarkCallable extends SkylarkValue {
+public interface StarlarkCallable extends StarlarkValue {
 
   /**
    * Call this function with the given arguments.
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
index 93f43a7..d79e1b0 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkFunction.java
@@ -18,7 +18,6 @@
 import com.google.devtools.build.lib.profiler.Profiler;
 import com.google.devtools.build.lib.profiler.ProfilerTask;
 import com.google.devtools.build.lib.profiler.SilentCloseable;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.StarlarkThread.LexicalFrame;
 
 /** A StarlarkFunction is the function value created by a Starlark {@code def} statement. */
@@ -98,7 +97,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     Object label = this.definitionGlobals.getLabel();
 
     printer.append("<function " + getName());
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java
index 411de33..dd150c2 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkList.java
@@ -21,7 +21,6 @@
 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.skylarkinterface.SkylarkPrinter;
 import java.util.AbstractList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -187,11 +186,11 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     printer.printList(this, /*isTuple=*/ false);
   }
 
-  // TODO(adonovan): SkylarkValue has 3 String methods yet still we need this fourth. Why?
+  // TODO(adonovan): StarlarkValue has 3 String methods yet still we need this fourth. Why?
   @Override
   public String toString() {
     return Starlark.repr(this);
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkMutable.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkMutable.java
index f5eb613..ae3da07 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkMutable.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkMutable.java
@@ -15,7 +15,6 @@
 package com.google.devtools.build.lib.syntax;
 
 import com.google.devtools.build.lib.events.Location;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Mutability.Freezable;
 import com.google.devtools.build.lib.syntax.Mutability.MutabilityException;
 
@@ -24,7 +23,7 @@
  * {@link Mutability}.
  */
 // TODO(adonovan): merge with Freezable once StarlarkThread and Frame no longer implement Freezable.
-public interface StarlarkMutable extends Freezable, SkylarkValue {
+public interface StarlarkMutable extends Freezable, StarlarkValue {
 
   /**
    * Throws an exception if this object is not mutable.
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 3731194..8913ade 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
@@ -25,7 +25,6 @@
 import com.google.devtools.build.lib.events.EventHandler;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.Mutability.Freezable;
 import com.google.devtools.build.lib.syntax.Mutability.MutabilityException;
 import com.google.devtools.build.lib.util.Fingerprint;
@@ -382,8 +381,8 @@
     private static boolean skylarkObjectsProbablyEqual(Object obj1, Object obj2) {
       // TODO(b/76154791): check this more carefully.
       return obj1.equals(obj2)
-          || (obj1 instanceof SkylarkValue
-              && obj2 instanceof SkylarkValue
+          || (obj1 instanceof StarlarkValue
+              && obj2 instanceof StarlarkValue
               && Starlark.repr(obj1).equals(Starlark.repr(obj2)));
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkValue.java
similarity index 92%
rename from src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
rename to src/main/java/com/google/devtools/build/lib/syntax/StarlarkValue.java
index 5a48206..2157f09 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkValue.java
@@ -12,12 +12,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.devtools.build.lib.skylarkinterface;
+package com.google.devtools.build.lib.syntax;
 
 import com.google.devtools.build.lib.concurrent.ThreadSafety;
 
 /** Base interface for all Starlark values besides boxed Java primitives. */
-public interface SkylarkValue {
+public interface StarlarkValue {
 
   /**
    * Prints an official representation of object x.
@@ -28,7 +28,7 @@
    *
    * @param printer a printer to be used for formatting nested values.
    */
-  default void repr(SkylarkPrinter printer) {
+  default void repr(Printer printer) {
     printer.append("<unknown object ").append(getClass().getName()).append(">");
   }
 
@@ -39,7 +39,7 @@
    *
    * @param printer a printer to be used for formatting nested values.
    */
-  default void str(SkylarkPrinter printer) {
+  default void str(Printer printer) {
     repr(printer);
   }
 
@@ -55,7 +55,7 @@
    *
    * @param printer a printer to be used for formatting nested values.
    */
-  default void debugPrint(SkylarkPrinter printer) {
+  default void debugPrint(Printer printer) {
     str(printer);
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java b/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
index d769c70..e593cda 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
@@ -24,7 +24,6 @@
 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.skylarkinterface.SkylarkValue;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -64,7 +63,7 @@
             + "Implicit concatenation of strings is not allowed; use the <code>+</code> "
             + "operator instead. Comparison operators perform a lexicographical comparison; "
             + "use <code>==</code> to test for equality.")
-final class StringModule implements SkylarkValue {
+final class StringModule implements StarlarkValue {
 
   static final StringModule INSTANCE = new StringModule();
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Tuple.java b/src/main/java/com/google/devtools/build/lib/syntax/Tuple.java
index b0bad85..0462835 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Tuple.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Tuple.java
@@ -20,7 +20,6 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import java.util.AbstractCollection;
 import java.util.AbstractList;
 import java.util.Arrays;
@@ -163,13 +162,13 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
-    // TODO(adonovan): when SkylarkPrinter moves into this package,
+  public void repr(Printer printer) {
+    // TODO(adonovan): when Printer moves into this package,
     // inline and simplify this, the sole call with isTuple=true.
     printer.printList(this, /*isTuple=*/ true);
   }
 
-  // TODO(adonovan): SkylarkValue has 3 String methods yet still we need this fourth. Why?
+  // TODO(adonovan): StarlarkValue has 3 String methods yet still we need this fourth. Why?
   @Override
   public String toString() {
     return Starlark.repr(this);
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeActionsInfoProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeActionsInfoProvider.java
index b8643e3..19eac98 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeActionsInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeActionsInfoProvider.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.ActionsInfoProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link ActionsInfoProviderApi}.
@@ -23,5 +23,5 @@
 public class FakeActionsInfoProvider implements ActionsInfoProviderApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java
index 9b00b26..3566ed2 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java
@@ -15,12 +15,12 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi.BuildSettingApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link BuildSettingApi}.
  */
 public class FakeBuildSettingDescriptor implements BuildSettingApi {
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java
index 9ba35ce..627129d 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link StarlarkConfigApi}. */
 public class FakeConfigApi implements StarlarkConfigApi {
@@ -41,5 +41,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDefaultInfoProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDefaultInfoProvider.java
index 1f5eacf..980f6e7 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDefaultInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDefaultInfoProvider.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.DefaultInfoApi.DefaultInfoApiProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.RunfilesApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link DefaultInfoApiProvider}.
@@ -34,5 +34,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDescriptor.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDescriptor.java
index 5d8f6b5..e0c8a6f 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDescriptor.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeDescriptor.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAttrApi.Descriptor;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeInfo;
 import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeType;
 import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderNameGroup;
@@ -45,7 +45,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   public AttributeInfo asAttributeInfo(String attributeName) {
     AttributeInfo.Builder attrInfo =
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeLateBoundDefaultApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeLateBoundDefaultApi.java
index 582bb95..2aba164 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeLateBoundDefaultApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeLateBoundDefaultApi.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.LateBoundDefaultApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link LateBoundDefaultApi}.
@@ -23,5 +23,5 @@
 public class FakeLateBoundDefaultApi implements LateBoundDefaultApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeOutputGroupInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeOutputGroupInfo.java
index dcb6f1f..f64e0b3 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeOutputGroupInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeOutputGroupInfo.java
@@ -16,9 +16,9 @@
 
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.OutputGroupInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link OutputGroupInfoApi}.
@@ -36,9 +36,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {
-
-  }
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link OutputGroupInfoApiProvider}.
@@ -51,6 +49,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java
index 82341be..75b033e 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeProviderApi.java
@@ -15,11 +15,11 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import javax.annotation.Nullable;
 
@@ -52,5 +52,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java
index d66cc0d..6a072e0 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAspect.java
@@ -15,9 +15,9 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAspectApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link SkylarkAspectApi}. */
 public class FakeSkylarkAspect extends BaseFunction implements SkylarkAspectApi {
@@ -39,5 +39,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAttrApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAttrApi.java
index e534762..3e9a2a0 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAttrApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkAttrApi.java
@@ -17,10 +17,10 @@
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAttrApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeType;
@@ -231,7 +231,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Returns a list of provider name groups, given the value of a Starlark attribute's "providers"
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
index 0b99431..8fb61f5 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
@@ -18,12 +18,12 @@
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkNativeModuleApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.NoneType;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkCallable;
@@ -112,7 +112,7 @@
       }
 
       @Override
-      public void repr(SkylarkPrinter printer) {
+      public void repr(Printer printer) {
         printer.append("<faked no-op function " + name + ">");
       }
     };
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSplitTransitionProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSplitTransitionProvider.java
index 61eded0..22555f6 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSplitTransitionProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSplitTransitionProvider.java
@@ -15,11 +15,11 @@
 package com.google.devtools.build.skydoc.fakebuildapi;
 
 import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link SplitTransitionProviderApi}. */
 public class FakeSplitTransitionProvider implements SplitTransitionProviderApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStructApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStructApi.java
index fc804c5..549bdda 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStructApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStructApi.java
@@ -21,10 +21,10 @@
 import com.google.common.collect.Ordering;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.StructApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.Nullable;
@@ -69,7 +69,7 @@
 
   /** Converts the object to string using Starlark syntax. */
   @Override
-  public void repr(SkylarkPrinter printer) {
+  public void repr(Printer printer) {
     List<String> fieldNames;
     try {
       fieldNames = Ordering.natural().sortedCopy(getFieldNames());
@@ -120,7 +120,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
 
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidApplicationResourceInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidApplicationResourceInfo.java
index 366b4f5..956af77 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidApplicationResourceInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidApplicationResourceInfo.java
@@ -19,8 +19,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidApplicationResourceInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidApplicationResourceInfoApi.AndroidApplicationResourceInfoApiProvider;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDeviceBrokerInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link AndroidDeviceBrokerInfoApi}. */
 public class FakeAndroidApplicationResourceInfo implements AndroidDeviceBrokerInfoApi {
@@ -36,14 +36,14 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link AndroidApplicationResourceInfoApiProvider}. */
   public static class FakeAndroidApplicationResourceInfoProvider
       implements AndroidApplicationResourceInfoApiProvider<FileApi> {
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
 
     @Override
     public AndroidApplicationResourceInfoApi<FileApi> createInfo(
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java
index ef98b4a..b2e555c 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java
@@ -16,8 +16,8 @@
 
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDeviceBrokerInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link AndroidDeviceBrokerInfoApi}.
@@ -35,7 +35,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link AndroidDeviceBrokerInfoApiProvider}.
@@ -49,6 +49,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java
index 8f59c3e..803ebc3 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java
@@ -17,8 +17,8 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidInstrumentationInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.ApkInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link AndroidInstrumentationInfoApi}. */
 public class FakeAndroidInstrumentationInfo
@@ -40,7 +40,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link AndroidInstrumentationInfoApiProvider}. */
   public static class FakeAndroidInstrumentationInfoProvider
@@ -53,6 +53,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 9b53b22..dbc17b3 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
@@ -17,9 +17,9 @@
 import com.google.devtools.build.lib.events.Location;
 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.Printer;
 
 /**
  * Fake implementation of {@link AndroidNativeLibsInfoApi}.
@@ -42,7 +42,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link AndroidNativeLibsInfoApiProvider}.
@@ -56,6 +56,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 8725750..36dfe23 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
@@ -20,9 +20,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidManifestInfoApi;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 
 /** Fake implementation of {@link AndroidResourcesInfoApi}. */
@@ -112,7 +112,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link AndroidResourcesInfoApiProvider}. */
   public static class FakeAndroidResourcesInfoProvider
@@ -141,7 +141,7 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 
   /** Fake implementation of {@link ValidatedAndroidDataApi}. */
@@ -223,6 +223,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java
index 749f9b8..29a736b 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi.android;
 
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSplitTransititionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link AndroidSplitTransititionApi}.
@@ -23,5 +23,5 @@
 public class FakeAndroidSplitTransitition implements AndroidSplitTransititionApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
index aaad839..7152c86 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
@@ -17,9 +17,9 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.ApkInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.Dict;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link ApkInfoApi}.
@@ -57,7 +57,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link ApkInfoApiProvider}.
@@ -70,6 +70,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 cb3033d..8130ff8 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
@@ -18,9 +18,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 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.Printer;
 
 /** Fake implementation of {@link AppleDynamicFrameworkInfoApi}. */
 public class FakeAppleDynamicFrameworkInfo implements AppleDynamicFrameworkInfoApi<FileApi> {
@@ -56,5 +56,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleStaticLibraryInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleStaticLibraryInfo.java
index bc246bb..1247342 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleStaticLibraryInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleStaticLibraryInfo.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleStaticLibraryInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.ObjcProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link AppleStaticLibraryInfoApi}.
@@ -47,7 +47,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link AppleStaticLibraryInfoProvider}.
@@ -63,6 +63,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeDottedVersion.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeDottedVersion.java
index 6ef2fe5..430db18 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeDottedVersion.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeDottedVersion.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi.apple;
 
 import com.google.devtools.build.lib.skylarkbuildapi.apple.DottedVersionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link DottedVersionApi}.
@@ -28,7 +28,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   @Override
   public int compareTo(FakeDottedVersion o) {
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 8727e65..ebffe30 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
@@ -16,8 +16,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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 
 /**
@@ -201,5 +201,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/FakeConfigurationTransition.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/FakeConfigurationTransition.java
index 9f1ed7c..1280884 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/FakeConfigurationTransition.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/FakeConfigurationTransition.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi.config;
 
 import com.google.devtools.build.lib.skylarkbuildapi.config.ConfigurationTransitionApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link ConfigurationTransitionApi}.
@@ -23,5 +23,5 @@
 public class FakeConfigurationTransition implements ConfigurationTransitionApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcInfo.java
index 6b097bd..95a3224 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcInfo.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcCompilationContextApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcLinkingContextApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
 /** Fake implementation of {@link CcInfoApi}. */
@@ -46,7 +46,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link CcInfoApi.Provider}. */
   public static class Provider implements CcInfoApi.Provider {
@@ -59,6 +59,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcToolchainConfigInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcToolchainConfigInfo.java
index 6f9207e..d6d2476 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcToolchainConfigInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcToolchainConfigInfo.java
@@ -16,8 +16,8 @@
 
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcToolchainConfigInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link CcToolchainConfigInfoApi}. */
 public class FakeCcToolchainConfigInfo implements CcToolchainConfigInfoApi {
@@ -38,12 +38,12 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link CcToolchainConfigInfoApi.Provider}. */
   public static class Provider implements CcToolchainConfigInfoApi.Provider {
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyCcLinkParamsProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyCcLinkParamsProvider.java
index d8e84a5..dfd2cb7 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyCcLinkParamsProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyCcLinkParamsProvider.java
@@ -17,8 +17,8 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyCcLinkParamsProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link PyCcLinkParamsProviderApi}. */
 public class FakePyCcLinkParamsProvider implements PyCcLinkParamsProviderApi {
@@ -39,12 +39,12 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link PyCcLinkParamsProviderApi.Provider}. */
   public static class Provider implements PyCcLinkParamsProviderApi.Provider {
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcInfo.java
index 8f2071f..f7a3be9 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcInfo.java
@@ -18,8 +18,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcHelperApi;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link PyWrapCcHelperApi}. */
 public class FakePyWrapCcInfo implements PyWrapCcInfoApi {
@@ -30,7 +30,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   @Override
   public String toProto(Location loc) throws EvalException {
@@ -46,6 +46,6 @@
   public static class Provider implements PyWrapCcInfoApi.Provider {
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCcLinkParamsProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCcLinkParamsProvider.java
index edff4df..d130b49 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCcLinkParamsProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCcLinkParamsProvider.java
@@ -16,8 +16,8 @@
 
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCcLinkParamsProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link JavaCcLinkParamsProvider}. */
 public class FakeJavaCcLinkParamsProvider implements JavaCcLinkParamsProviderApi<CcInfoApi> {
@@ -36,6 +36,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 bf16380..670e73c 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
@@ -20,9 +20,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCompilationInfoProviderApi;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
@@ -107,7 +107,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /**
    * Fake implementation of {@link JavaInfoProviderApi}.
@@ -131,6 +131,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 55672b8..70439e9 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
@@ -16,9 +16,9 @@
 
 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.Printer;
 
 final class FakeJavaRuntimeInfoApi implements JavaRuntimeInfoApi {
 
@@ -58,7 +58,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   private FakeJavaRuntimeInfoApi() {}
 }
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 284b9e77..717a376 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
@@ -17,9 +17,9 @@
 import com.google.devtools.build.lib.events.Location;
 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.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 
 final class FakeJavaToolchainSkylarkApiProviderApi implements JavaToolchainSkylarkApiProviderApi {
@@ -70,7 +70,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   private FakeJavaToolchainSkylarkApiProviderApi() {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD
index 6d83d77..5c2a8cf 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD
@@ -15,7 +15,7 @@
     name = "proto",
     srcs = glob(["*.java"]),
     deps = [
-        "//src/main/java/com/google/devtools/build/lib:skylarkinterface",
+        "//src/main/java/com/google/devtools/build/lib:syntax",
         "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi",
         "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto",
         "//third_party:guava",
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/FakeProtoInfoApiProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/FakeProtoInfoApiProvider.java
index 55562c0..a30e071 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/FakeProtoInfoApiProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/FakeProtoInfoApiProvider.java
@@ -15,11 +15,11 @@
 package com.google.devtools.build.skydoc.fakebuildapi.proto;
 
 import com.google.devtools.build.lib.skylarkbuildapi.ProtoInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /** Fake implementation of {@link ProtoInfoApi.Provider}. */
 public class FakeProtoInfoApiProvider implements ProtoInfoApi.Provider {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
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 aa93b32..186ce93 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
@@ -17,9 +17,9 @@
 import com.google.devtools.build.lib.events.Location;
 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.Printer;
 
 /** Fake implementation of {@link PyInfoApi}. */
 public class FakePyInfo implements PyInfoApi<FileApi> {
@@ -50,7 +50,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link PyInfoProviderApi}. */
   public static class FakePyInfoProvider implements PyInfoProviderApi {
@@ -68,6 +68,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
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 8e7a2ba..2ff962d 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
@@ -17,9 +17,9 @@
 import com.google.devtools.build.lib.events.Location;
 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.Printer;
 
 /** Fake implementation of {@link PyRuntimeInfoApi}. */
 public class FakePyRuntimeInfo implements PyRuntimeInfoApi<FileApi> {
@@ -45,7 +45,7 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 
   /** Fake implementation of {@link PyRuntimeInfoProviderApi}. */
   public static class FakePyRuntimeInfoProvider implements PyRuntimeInfoProviderApi {
@@ -62,6 +62,6 @@
     }
 
     @Override
-    public void repr(SkylarkPrinter printer) {}
+    public void repr(Printer printer) {}
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyStarlarkTransitions.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyStarlarkTransitions.java
index a598a10..773c75a 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyStarlarkTransitions.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/FakePyStarlarkTransitions.java
@@ -15,14 +15,14 @@
 package com.google.devtools.build.skydoc.fakebuildapi.python;
 
 import com.google.devtools.build.lib.skylarkbuildapi.python.PyStarlarkTransitionsApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.StarlarkValue;
 import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigurationTransition;
 
 /** Fake implementation of {@link PyStarlarkTransitionsApi}. */
 public final class FakePyStarlarkTransitions implements PyStarlarkTransitionsApi {
 
   @Override
-  public SkylarkValue getTransition() {
+  public StarlarkValue getTransition() {
     return new FakeConfigurationTransition();
   }
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisFailureInfoProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisFailureInfoProvider.java
index 4700482..49e495e 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisFailureInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisFailureInfoProvider.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.skydoc.fakebuildapi.test;
 
 import com.google.devtools.build.lib.skylarkbuildapi.test.AnalysisFailureInfoApi.AnalysisFailureInfoProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link AnalysisFailureInfoProviderApi}.
@@ -23,5 +23,5 @@
 public class FakeAnalysisFailureInfoProvider implements AnalysisFailureInfoProviderApi {
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisTestResultInfoProvider.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisTestResultInfoProvider.java
index 3b3cdce..7fce111 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisTestResultInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeAnalysisTestResultInfoProvider.java
@@ -16,7 +16,7 @@
 
 import com.google.devtools.build.lib.skylarkbuildapi.test.AnalysisTestResultInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.test.AnalysisTestResultInfoApi.AnalysisTestResultInfoProviderApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link AnalysisTestResultInfoProviderApi}.
@@ -29,5 +29,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java
index e09fd19..b2d84b8 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi;
 import com.google.devtools.build.lib.skylarkbuildapi.test.CoverageCommonApi;
 import com.google.devtools.build.lib.skylarkbuildapi.test.InstrumentedFilesInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Sequence;
 
 /** Fake implementation of {@link CoverageCommonApi}. */
@@ -35,5 +35,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeExecutionInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeExecutionInfo.java
index fc55450..9621fca 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeExecutionInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeExecutionInfo.java
@@ -17,8 +17,8 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.test.ExecutionInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 
 /**
  * Fake implementation of {@link ExecutionInfoApi}.
@@ -41,5 +41,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeTestingEnvironmentInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeTestingEnvironmentInfo.java
index 2605715..6d73729 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeTestingEnvironmentInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeTestingEnvironmentInfo.java
@@ -17,8 +17,8 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkbuildapi.test.TestEnvironmentInfoApi;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.Printer;
 import java.util.Map;
 
 /**
@@ -42,5 +42,5 @@
   }
 
   @Override
-  public void repr(SkylarkPrinter printer) {}
+  public void repr(Printer printer) {}
 }