(self)
| 54 | promotion: Optional[Callable[['Order'], Decimal]] = None # <1> |
| 55 | |
| 56 | def total(self) -> Decimal: |
| 57 | totals = (item.total() for item in self.cart) |
| 58 | return sum(totals, start=Decimal(0)) |
| 59 | |
| 60 | def due(self) -> Decimal: |
| 61 | if self.promotion is None: |