Good software engineering consists in large part of selecting the right tools to model the ideas you wish to convey.
Apply this to Nostr, and one thing should become obvious: Immutability is a key concept.
Events are immutable. Once an event is signed, it cannot and will not change.
This fact alone makes functional programming languages a natural fit for Nostr, though even multi-paradigm languages such as JavaScript can be constrained to "act" functional.