Just a quick link to the lecture notes for now...
minimalistic fail recovery
a user-friendly version
just domain checking
domain and fail checks combined