better error guards

Silence for `zen` makes sense, but does silence for empty data make sense?