The points you have brought up are perfect! And I think they can be applied in OOP languages, not just limited to functional languages.
I have been applying similar techniques, for example, keep functions small (preferably one line!) in C# too and I would say it has also improved my code there.
Thanks for reading!