In the forward rendering, you can get the shadow information directly.
So complex implementations like Toon shading model may not be necessary.
At the same time, consider the lack of GBuffer, you will lose the possibility of implementing a post processing outline.
By that time, implementing outline via vertex shader can be a big issue.