Conditionally define Complex and Ratio types.
Reset the current parameters in child threads.

This is simple and fast.  Inheriting all threads causes immediate
problems with exception handlers, and in general should use
copy-on-write behavior so that child threads can't affect parents.  If
we make an eager copy of the parameters we can filter out just the
exception handler, but then thread creation is expensive.  The ideal
design might allow selectively enabling parameter inheritance.