It’s funny, how it goes back to node style (which they copied from Go, probably) of (error, result).
Also don’t understand how did you get try/catch hell — exceptions propagate through as much nesting as needed—one just need to compose Promises properly.