The IAdvancedIngredient (not necessarily of the same type) which is the exact same predicate as this, but which has the smallest possible overhead.
It is acceptable to mutate this Ingredient while calling this method, so careful caching the unsimplified version.
Usually this will just return this.