107: first try with STMonad