The key point is that because Maybe is a monad, you can chain things together and handle failure at the end much like a try/catch:
let result = do x <- f(t) y <- g(x) z <- h(y) z in case result of ...
The key point is that because Maybe is a monad, you can chain things together and handle failure at the end much like a try/catch:
You are correct that this isn't particularly novel.