New Error return type. API-incompatible change. Fixes #47