The exact thing you’re describing, more or less. It’s explained here:
(The $30 parameter controls the spindle-max value)