Modify `DiscreteTimeSimulator::_simulate` to support `NaN`s in some observation components. - [ ] l410: adjust the condition to take partial NaNs into account (i.e. enter the block only if all components are NOT NaNs) - [ ] l484, l490: adjust the obs for DiracObservations - [ ] add utilities to factor multivariate Gaussians [optional, another PR?] Prefer no dispatches :) Tests: TBD