Interfaces over Game Pieces

I was wondering if it wouldn’t be feasible to create interfaces over game pieces (in my mind ECS frameworks, physics engines, and Renderers).
for instance would it be a good idea to create a collection of traits with common ECS operations (I know this would not be feasible for SPECS but for bevy/hecs and legion, this seems like a good idea to me, (think different specs serializers)) insert/remove, with a trait for each one eg (InsertComponent). This would allow things like legions SoA inserts to be used through an interface InsertComponentSoA. It could event be implemented in bevy using normal inserts rather than SoA inserts . I think rather than having a complete game engine, little modules would be much more in the spirit of Rust.
Please tell me your opinions!