docs: def optimise_tile(tile_bytes):
      """
      Decode a sequence of bytes as an MVT tile and reorder the string table of
      its layers and the order of its multilinestrings to save a few bytes.
      """
  
      t = tile()
      t.ParseFromString(tile_bytes)
  
      for layer in t.layers:
          sto = StringTableOptimiser()
  
          for feature in layer.features:
              # (multi)linestrings only
              if feature.type == 2:
                  optimise_multilinestring(feature.geometry)
  
              sto.add_tags(feature.tags)
  
          sto.update_string_table(layer)
  
      return t.SerializeToString()