I believe most of this section is equivalent to doing:
```
insep_obj = galsim.Convolve(insep_profs)
effective_prof_image = ChromaticObject.draw(insep_obj, bandpass, ...)
```
which points out that if there is only a single inseparable profile, it should probably call its own draw command if possible:
```
if len(insep_profs) == 1:
    effective_prof_image = insep_profs[0].draw(bandpass, ...)
else:
    effective_prof_image = ChromaticObject.draw(insep_obj, bandpass, ...)
```
It's not currently helpful, since the ChromaticAtmosphere class doesn't overload the draw command, but we might figure out an efficient specialization for that, or there might be other inseparable classes that do have a trick for doing the draw more efficiently, so we should have the option of taking advantage of that if possible.

The only wrinkle with this is the `iimult` option, but I think we can take care of that by calculating the appropriate scale first:
```
scale = insep_obj.nyquistDx()
if iimult is not None:
    scale /= iimult
```
and then pass this scale as a kwarg to the above draw commands.