whole_func_string: function addSeenGuidedTour( getState, tourName, finished = false ) {
  	return savePreference( 'guided-tours-history', [
  		...getPreference( getState(), 'guided-tours-history' ),
  		{
  			timestamp: Date.now(),
  			tourName,
  			finished,
  		},
  	] );
  }
func_code_string: function addSeenGuidedTour( getState, tourName, finished = false ) {
  	return savePreference( 'guided-tours-history', [
  		...getPreference( getState(), 'guided-tours-history' ),
  		{
  			timestamp: Date.now(),
  			tourName,
  			finished,
  		},
  	] );
  }
func_documentation_string: TODO(mcsf): come up with a much better (read: safer) solution  The way we persist which tours have been seen by the user is subject to concurrency issues and history loss, since adding a tour to that collection is actually achieved by adding a tour to the client's copy of the collection and saving that as the new history.