code: private FlowScope traverseDestructuringPattern(
        Node pattern, FlowScope scope, JSType patternType, AssignmentType assignmentType) {
      return traverseDestructuringPatternHelper(
          pattern,
          scope,
          patternType,
          (FlowScope flowScope, Node targetNode, JSType targetType) -> {
            targetType = targetType != null ? targetType : getNativeType(UNKNOWN_TYPE);
            return updateScopeForAssignment(flowScope, targetNode, targetType, assignmentType);
          });
    }
docs: Traverses a destructuring pattern in an assignment or declaration