Oh--just found a real bug here. We need to check `result.errors` too, and call back with the errors if they exist.