Write the package in R 3.5 so I can use the better version of stopifnot() with the exprs argument.
Test not only if the functions produce the correct output but also if they throw errors for bad input when necessary. Only test for bad input in exported functions the user can see.
Additionally, decide on one form of input to support. Don't maintain different options if there is no strong reason for it. This reduces the time and effort necessary for development and testing.
Write the package in R 3.5 so I can use the better version of stopifnot() with the exprs argument. Test not only if the functions produce the correct output but also if they throw errors for bad input when necessary. Only test for bad input in exported functions the user can see.