We should allow ``check`` to return a promise.