```ts
export function payout(stake: number, odds: number): number {
  if (stake <= 0) {
    throw new Error('Stake must be positive');
  }
  return stake * odds;
}

export function settleAll(bets: { stake: number; odds: number; won: boolean }[]): number {
  let totalPayout = 0;

  for (const bet of bets) {
    if (!bet.won) continue;

    try {
      const payout = payout(bet.stake, bet.odds);
      totalPayout += payout;
    } catch (error) {
      throw new Error(`Error calculating payout for bet: ${error.message}`);
    }
  }

  return totalPayout;
}
```