1. Specifying the problem
    1. ODE equations
    2. Mass matrix
    3. Root finding
    4. Forward Sensitivity
    5. Custom Problem Structs
      1. Non-linear functions
      2. Constant functions
      3. Linear functions
      4. Putting it all together
    6. DiffSL
    7. Sparse problems
  2. Choosing a solver
  3. Initialisation
  4. Solving the problem
  5. Benchmarks