The minor spelling point, the word 'field' has been spelled 'filed' throughout this comment (just as in the email subject):
+ /* + * Simplify cast(jsonb_object_filed(jsonb, filedName) as type) + * to jsonb_object_field_type(jsonb, filedName, targetTypeOid); + */
Thanks for catching this, fixed in v5.
The question: the simplification is currently being applied when the underlying operation uses F_JSONB_OBJECT_FIELD. Are there opportunities for a similar benefit if applied over F_JSONB_ARRAY_ELEMENT and/or F_JSONB_EXTRACT_PATH?
Yes, we do have similar opportunities for both functions. v5 attached for this.