At its base, this function chooses a time grid with 1+min_num_time_steps
  elements from 0 to Tmax.  Any coupon, call, or put times occurring in
  one of the supplied instruments are also inserted.
infer_conforming_time_grid(min_num_time_steps, Tmax, instruments = NULL)The minimum number of timesteps the output vector should have
The maximum time on the grid
A set of instruments whose maturity and terms
and conditions can introduce extra timesteps.  Each will be queried for the output of
a critical_times function.
A vector of times at which the grid should have nodes
Other Implicit Grid Solver: 
construct_implicit_grid_structure(),
find_present_value(),
form_present_value_grid(),
integrate_pde(),
iterate_grid_from_timestep(),
take_implicit_timestep(),
timestep_instruments()