I would add that the senior engineer has a mature approach to selecting/recommending tools and frameworks, based on what is most valuable for the business and the team, rather than was is cool, good for their career or whatever.
It's not that I thought they were wrong in what they had to say, just there is an appropriate time and a place and being able to make that call is just as if not more important than the style of functionality being added. I find such seniors can be toxic at times. In essence there is more to being a senior than just being a great coder.
Adding a simplier design with functional code is a good thing. If there is a mid level developer that can't follow the current state of the art, than he is not a good mid level developers. Also "good" junior developers have mostly zero problems in understanding more functional code. I mean you don't need to understand Applicative Functors to use map/flatMap.
I mean there is a line which you should not cross too fast when introducing functional stuff, however most people just don't even try to understand the simple stuff even that it is way more simple than most while/for loops.
If it is a business requirement that good developers must be slowed down for bad ones to catch up, then do it by encapsulation and mentoring. Not by decreeing that good developers must act exactly like bad ones.
It should also be mentioned that responses similar to the examples have approx. no substance, detract from the quality of the conversation, provides no value to the team, and will likely only decrease mutual trust and respect.
The only consolation is that the system in question hasn't entered production yet, and probably won't for at least a year at the rate it's progressing.