This is a lot like how node.js handles Errors and exceptions only its "panic" call is throwing an Error either intentionally or via an uncaught exception, which will crash the process and is difficult to catch due to node.js' asynchronous nature. Apart from that, every function call returns both an error and a value, and the value is irrelevant in the presence of an Error.