We can totally just use UFuncs instead.

object padRight extends UFunc;

implicit def padRightDV[T]: padRight.Impl3[DenseVector[T], Dimensions1, OptPadMode, DenseVector[T]] = ???

You can make the Mode optional by having an Impl2 that forwards the call to an Impl3