haskell is one of the most functional functional languages ever. its really terse notation and because it generally doesn't use temporary variables, only "pure functions" which copy everything, the compilations can use huge amounts of memory.
yes, the cli version of simplex you have to type the username prefix to every message send, it doesn't have a channel modal interfacing or TUI.