anchor.diff:    final TypeEnvironmentStructure _environment;
     final TypeRecipe _recipe;
     final bool metadata;
  -  final bool hackTypeVariablesToAny;
   
     final List<FunctionTypeVariable> functionTypeVariables = [];
     final Set<TypeVariableType> typeVariables = {};
  
positive.code: 
    jsAst.Literal encodeGroundRecipe(ModularEmitter emitter, TypeRecipe recipe);
  
    /// Return the recipe with type variables replaced with <any>. This is a hack
    /// until DartType contains <any> and the parameter stub emitter is replaced
    /// with an SSA path.
    // TODO(37715): Remove this.
    jsAst.Literal encodeRecipeWithVariablesReplaceByAny(
        ModularEmitter emitter, DartType dartType);
  
    /// Returns a [jsAst.Literal] representing [supertypeArgument] to be evaluated
    /// against a [FullTypeEnvironmentStructure] representing [declaringType]. Any
    /// [TypeVariableType]s appearing in [supertypeArgument] which are declared by
  
negative.code:   @override
    jsAst.Literal encodeGroundRecipe(ModularEmitter emitter, TypeRecipe recipe) {
      return _RecipeGenerator(this, emitter, null, recipe).run().recipe;
    }
  
    @override
  