Finite State Machine (FSM) Haskell implementation based on the famous Erlang OTP FSM behaviour