Would it be possible to have code generation done by a c# [source generator](https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview), or are they too limited?