create custom error thrower to avoid closing over meta object just for ->throw_error
drwxr-xr-x lib
drwxr-xr-x t