docs: def city(random=random, *args, **kwargs):
      """
      Produce a city name
  
      >>> mock_random.seed(0)
      >>> city(random=mock_random)
      'east mysteryhall'
      >>> city(random=mock_random, capitalize=True)
      'Birmingchimp'
      >>> city(random=mock_random, slugify=True)
      'wonderfulsecretsound'
  
      """
      return random.choice([
          "{direction} {noun}{city_suffix}",
          "{noun}{city_suffix}",
          "{adjective}{noun}{city_suffix}",
          "{plural}{city_suffix}",
          "{adjective}{city_suffix}",
          "liver{noun}",
          "birming{noun}",
          "{noun}{city_suffix} {direction}"
      ]).format(direction=direction(random=random),
                adjective=adjective(random=random),
                plural=plural(random=random),
                city_suffix=city_suffix(random=random),
                noun=noun(random=random))