============================================================
 POLYMORPHISM IN ACTION — EMPLOYEE PAYROLL - Demo Run
============================================================

--- Polymorphic pay calculation (same loop, different types) ---
  Alice: $5000.00
  Bob: $4000.00
  Carol: $2750.00

--- total_payroll (no type-checking needed) ---
  Total payroll: $11750.00

--- Duck typing: an unrelated class also works ---
  Freelancer pay: $3000.00
  total_payroll (with freelancer mixed in) = $14750.00
  (Freelancer isn't an Employee subclass at all -- it just has the right method.)

============================================================
 Assignment: generate_payslip (polymorphic across all types)
============================================================
--- PAYSLIP: Alice ---
  Base Salary: $5000.00
  TOTAL: $5000.00

--- PAYSLIP: Bob ---
  Hours x Rate: 160h x $25/h
  TOTAL: $4000.00

--- PAYSLIP: Carol ---
  Base + Commission: $2000.00 + $750.00 (on $15000 sales)
  TOTAL: $2750.00

--- PAYSLIP: Dave ---
  Flat project fee: $3000.00
  TOTAL: $3000.00

