Помогите с задачей по разбиению чисел на слагаемые. Python
Задача: Нужно написать функцию, которая принимает число, а выводит число неповторяющихся разбиений на слагаемые.
Пример: exp_sum(5) # 7 -> 1+1+1+1+1, 1+1+1+2, 1+1+3, 1+2+2, 1+4, 5, 2+3
Пытался опираясь на видеоурок написать код, который сначала выводит все разбиения, а потом их посчитать, но рекурсивная функция выдает None.
Объясните, что я делаю не так, Направьте меня в нужное русло)

Изменено: добавил сам код
def exp_sum(n, prefix=[]):
if n==0:
return prefix
else:
for i in list(range(1, n+1)):
if not prefix:
exp_sum(n-i, prefix + [i])
elif prefix[-1] >= i:
exp_sum(n-i, prefix + [i])