at some point you will be writing a function and you will have the brilliant idea to make it generic w parameters and options.

don't!

write your function for the specific use case and move on. don't fall for the greatest productivity trap for #devs — premature optimization.