If the function cannot work without launch config, can't it be the last parameter not defaulted to `None` instead of asserting its is `None`?