I like to think of the milspec for M4s like a building code; it is a base set of requirements, and if you deviate from those requirements you better have a good reason, be able to elaborate on and explain your reasons in an intelligent manner, and be able to document why your way is "better" and have an engineer willing to sign off and agree that it's "better".