docs: def split_cloud(cloud: str) -> [str]:  # type: ignore
      """
      Transforms a cloud string into a list of strings: [Type, Height (, Optional Modifier)]
      """
      split = []
      cloud = sanitize_cloud(cloud)
      if cloud.startswith('VV'):
          split.append(cloud[:2])
          cloud = cloud[2:]
      while len(cloud) >= 3:
          split.append(cloud[:3])
          cloud = cloud[3:]
      if cloud:
          split.append(cloud)
      # Nullify unknown elements
      for i, item in enumerate(split):
          if is_unknown(item):
              split[i] = None  # type: ignore
      # Add null altitude or convert to int
      if len(split) == 1:
          split.append(None)  # type: ignore
      elif isinstance(split[1], str) and split[1].isdigit():
          split[1] = int(split[1])  # type: ignore
      return split