anchor.diff:    void buildConstructorBody(ir.Constructor constructor) {
       openFunction(constructor.function);
       _addClassTypeVariablesIfNeeded(constructor);
  +    _potentiallyAddFunctionParameterTypeChecks(constructor.function);
       constructor.function.body.accept(this);
       closeFunction();
     }
  
positive.code:       assert(_targetFunction != null && _targetFunction is ir.FunctionNode);
        returnStatement.expression.accept(this);
        value = pop();
        DartType returnType = _elementMap.getFunctionType(_targetFunction);
        if (_targetFunction.asyncMarker == ir.AsyncMarker.Async) {
          if (options.enableTypeAssertions &&
              !isValidAsyncReturnType(returnType)) {
  
negative.code:     closeFunction();
    }
  
    void _potentiallyAddFunctionParameterTypeChecks(ir.FunctionNode function) {
      // Put the type checks in the first successor of the entry,
      // because that is where the type guards will also be inserted.
      // This way we ensure that a type guard will dominate the type
      // check.
      MemberDefinition definition =
          _elementMap.getMemberDefinition(targetElement);
      bool nodeIsConstructorBody = definition.kind == MemberKind.constructorBody;
  
      void _handleParameter(ir.VariableDeclaration variable) {
        Local local = localsMap.getLocalVariable(variable);
        if (nodeIsConstructorBody &&
            closureDataLookup.getCapturedScope(targetElement).isBoxed(local)) {
          // If local is boxed, then `variable` will be a field inside the box
          // passed as the last parameter, so no need to update our locals
          // handler or check types at this point.
          return;
        }
        HInstruction newParameter = localsHandler.directLocals[local];
        newParameter = typeBuilder.potentiallyCheckOrTrustType(
            newParameter, _getDartTypeIfValid(variable.type));
        localsHandler.directLocals[local] = newParameter;
      }
  
      function.positionalParameters.forEach(_handleParameter);
      function.namedParameters.toList()..forEach(_handleParameter);
    }
  
    /// Builds a SSA graph for FunctionNodes of external methods.
    void buildExternalFunctionNode(ir.FunctionNode functionNode) {
      assert(functionNode.body == null);
  