There is a proliferation of variations of methods, which might be more intuitively presented to users as fewer methods with parameters to control each. For example, the total variation module has separate methods for when we care about constant velocity, acceleration, and jerk, which leads to duplicated code. They all call some underlying thing with different parameters. I'd argue we should expose the underlying function with a parameter that controls which derivative we're holding constant.
However, this proposal breaks backwards compatibility in a big way, unless we keep old function signatures around and add warnings that say "they're deprecated, call x instead."
There is a proliferation of variations of methods, which might be more intuitively presented to users as fewer methods with parameters to control each. For example, the total variation module has separate methods for when we care about constant velocity, acceleration, and jerk, which leads to duplicated code. They all call some underlying thing with different parameters. I'd argue we should expose the underlying function with a parameter that controls which derivative we're holding constant.
However, this proposal breaks backwards compatibility in a big way, unless we keep old function signatures around and add warnings that say "they're deprecated, call x instead."