public static function compact( array $wraps ) {
		$consolidated = [];
		if ( $wraps === [] ) {
			// Return early so that we don't have to deal with $prev being
			// set or not set, and avoid risk of adding $prev's initial null
			// value to the list as extra value (T196496).
			return $consolidated;
		}
		$first = true;
		$prev = null;
		foreach ( $wraps as $wrap ) {
			if ( $first ) {
				$first = false;
				$prev = $wrap;
				continue;
			}
			if ( $prev instanceof WrappedString
				&& $wrap instanceof WrappedString
				&& $prev->prefix !== null
				&& $prev->prefix === $wrap->prefix
				&& $prev->suffix !== null
				&& $prev->suffix === $wrap->suffix
			) {
				$prev = $prev->extend( $wrap->value );
			} else {
				$consolidated[] = $prev;
				$prev = $wrap;
			}
		}
		// Add last one
		$consolidated[] = $prev;

		return $consolidated;
	}