Ideally we'd capture errors here and pass to `warning`