That's a typical corporate dev mindset.
Many things in Nostr can be generalized in the same way you are generalizing with "peers" but you are loosing information when you do so and it is terrible for the growth of Nostr. It makes things unecessarily complicated because a "peer" can do a lot more things than a "relay" or a "client". Keeping people focused is helpful.