- Take a good initial h
- Fix the derivatives in cases like:
f(a,b)=a*b
D(f(x,2x),x)

- Simplifications
- Return error when there's a syntax error 
  (probably, users will prefer that to a crash :-) )
- Return error when there's a real error
  (i.e. when evaluating 7/0 )
- Implement Non-conmutative algebraic operations
