Problem with backtracking monad transformer