You're right about that, one problem with this is it assumes it the ODE is separable, which may not always be the case.

On that note, if you go this route, you'll have to check that `red` isn't None.