

As per a remark made on stack overflow, this predicate's name expresses what it does "sum the list" but does not express the order of its parameters, otherwise it would be called list_sum/2.
The predicate exhibits an unrefined dataflow :
?- sum_list([1,2,X],6). ERROR: Arguments are not sufficiently instantiated