なぜ以下の関数は引数のリストの要素の和を計算するのでしょうか?

sumList[lis_]:=First[lis//.{x_, y___} -> x + {y}]