Best practice for argument type declarations?