A bit OT for this thread perhaps: The screenshot below shows the FX set up with a bezier curve function. The end points have been moved. The lower end condition is a static output and upper end condition is input = output.
You can chain a series of these FX to produce a complex curve (e.g. an 'S' curve or a multi step output). Just match up the upper end pint of one FX with the lower value of the next and set the end conditions to input = output.