docs: def split(self, amount):
          """Split the value given by amount according to the RecurringCostSplit's portions
  
          Args:
              amount (Decimal):
  
          Returns:
              list[(RecurringCostSplit, Decimal)]: A list with elements in the form (RecurringCostSplit, Decimal)
          """
          split_objs = list(self.all())
          if not split_objs:
              raise NoSplitsFoundForRecurringCost()
  
          portions = [split_obj.portion for split_obj in split_objs]
  
          split_amounts = ratio_split(amount, portions)
          return [
              (split_objs[i], split_amount)
              for i, split_amount
              in enumerate(split_amounts)
          ]