Can I impose a super type for an existing struct?

The problem with this approach in my case is that the solver calls a plethora of other functions which all take InitialValueProblem as input.

I think the second option you’ve suggested is the best way to proceed for me.