docs: def split_limits_heads(self):
          """
          Return first parts of dot-separated strings, and rest of strings.
  
          Returns:
              (list of str, list of str): the heads and rest of the strings.
          """
          heads = []
          new_limit_to = []
          for limit in self.limit_to:
              if '.' in limit:
                  name, limit = limit.split('.', 1)
                  heads.append(name)
                  new_limit_to.append(limit)
              else:
                  heads.append(limit)
          return heads, new_limit_to