Syntax advice for ode solution routines



I have dusted off the some first order ode routines I wrote last year and am 
trying to get them into shape for submission.  I am after opinions on a couple
of design decisions:

1.  The exisiting ode2() routine returns a single solution.  I am proposing to
return a list of solutions, similar to solve, as non-linear odes can have 
multiple solutions.


                                     dy    dy 2
(contrib_ode(eqn : - y + 1 - (2 - x) -- + (--)  = 0, y, x);
                                     dx    

                                   2
              2                   x  - 4 x
[y = %C x + %C  - 2 %C + 1, y = - --------]
                                     4

2.  Some of the solutions are parametric, and I need to chose the
parametric variable - the example below uses p.
I am considering using %t, and hardcoding the choice.  Thoughts?

                   dy 2   dy
contrib_ode(eqn : (--)  x -- - y = 0, y, x));
                   dx     dx

                       2
          3 LOG(p  - 1)
        - -------------
                2         3
[x = %C %E         , y = p  x]