Sure this seems good, and might be okay to add... I don't think Shadow and Outline have changed since they were introduced so that might be okay. I'll give it a look later, I haven't really encountered compilation errors like that before. Either way, I just needed a solution to copy something exactly and chose the wrong one so I can switch that.
Also, SuperTextMeshSubmesh.cs is basically band-aid code for situations where you need to use UI text and it won't render a submesh, so just removing it from a project is also an option too lol.