Best practices for typesafe error handling - Theo's Typesafe Cult