Review all function arguments. Are there times things are in seed but also a separate argument? Are there ones I could eliminate? Would it help to have a seed class to store extra information that is always passed with seed? Is there any way to update the log without passing seed, row index, and seed_df every time?