toEqn' :: SODE Double -> [Double] -> Double
toEqn' SODE {..} v =
  foldl' (*) _alpha (zipWith (**) v (foldr (:) [] _posExp)) -
  foldl' (*) _beta  (zipWith (**) v (foldr (:) [] _negExp))
toEqn' :: SODE Double -> [Double] -> Double
toEqn' SODE {..} v =
  foldl' (*) _alpha (zipWith (**) v (foldr (:) [] _posExp)) -
  foldl' (*) _beta  (zipWith (**) v (foldr (:) [] _negExp))
toEqn' SODE {..} v =
  foldl' (*) _alpha (zipWith (**) v (foldr (:) [] _posExp)) -
  foldl' (*) _beta  (zipWith (**) v (foldr (:) [] _negExp))