See also - error wrapping in Go notes
https://www.digitalocean.com/community/tutorials/how-to-add-extra-information-to-errors-in-go