i actually find this more confusing. having the defaults in `init` makes it more clear imo