--  solveEquation :: Equation -> (Equation -> Flow a) Flow a
--  solveEquation equation method = met

  runSolveEquation :: Flow Equation -> (Equation -> Flow a) -> Either String a
  runSolveEquation equation method = fst $ runIdentity $ runWriterT $ runErrorT $ equation >>= method
runSolveEquation :: Flow Equation -> (Equation -> Flow a) -> Either String a
runSolveEquation equation method = fst $ runIdentity $ runWriterT $ runErrorT $ equation >>= method
runSolveEquation equation method = fst $ runIdentity $ runWriterT $ runErrorT $ equation >>= method