sa.function extends the original function to allow bezier curves. Curviture points can be dragged independently to create any curve.
sa.function is not completely backward compatible with the orignal function and most notably cannot be used with line~. However, sa.function can dump the curve as an approximation to function.
sa.function also bring exciting and powerful new features, such as multiple line support, symmetric editing modes and a undo/redo management.