Is there a variable shape OSC that goes from sine to Square?

I found the VariableShape oscillator doesn’t include sine wave. Is there a class that morphs from sine > triangle > saw > square?

Seems to me you could filter any osc down to sine, or crossfade mix with a sine osc.

Sine to Square → Amplify and limit
Square to Saw → Add a decrease parameter from the beginning of the square
Saw to Tri → Add a increase parameter from the beginning of the Saw

Let me see if I can wrap my beginner mind around that. I was hoping this existed in the DaisySP lib. Seems like a pretty common idea.