Needs a custom `InvalidArgumentException`