As it stands, the error module is a mess and needs some work. `UnknownError` should be replaced with the respective errors.