The GMP field implementation is has no constant-time guarantees, so shouldn’t be used for production code. In addition, it is hard to optimize for, as it uses a different bounds/normalization pattern. Also, if it is autoselected you end up with an extra dependency.
If we want a reference field implementation, I’m sure a more readable plain-C one is possible (with horrible performance).