Implement `compound_interest(
principal: float,
annual_rate: float,
years: int,
compounds_per_year: int = 12,
) -> float`.
Use the standard formula:
`A = P × (1 + r/n)^(n×t)`
Where `P` is principal, `r` is the annual rate (e.g. `0.05` for 5%), `n` is
compounds per year, and `t` is years.
Return the balance rounded to **two decimal places** with `round(..., 2)`.
Constraints
principal ≥ 0; 0 ≤ annual_rate ≤ 1; years ≥ 0; compounds_per_year ≥ 1