error type made generic