My first Go project was a PDF parser. Rewrote it in C a similar number of lines because Go's capacity for polymorphism is as primitive as in C.
You seem to have said you rewrote from Go because it has poor polymorphism, into C which is equally bad in this regard.
If you find some language feature important, surely you would not rewrite into a language that doesn't have that feature?