Reading the AST block can never fail with a recoverable error as modules
cannot be removed during this phase. Change the return type of these
functions to return an llvm::Error instead, ie. either success or
failure.
NFC other than the wording of some of the errors.
Don't have a strong opinion but an alternative to preserve more of the old code and avoid manual SmallVector manipulations can be