When possible it's nice to nest your error types, this allows better investigation when something fails.