This would have been better implemented as `composite(errorwhenfound, create)` so that these are more composable.