maybe a few functions with some variations on `*args`, `**kwargs` and defaults and some more exhauistive tests