can this be reduced into one condition? `if data.logger? and not _(data.logger).isString()`

also what does `logger` default to if unset?