なら、F#でいいと思います。
副作用もあるし、コンピューテーション式もあるよ。