> but is supported by any version of PostgreSQL.
For me, it is not supported by PostgreSQL:
trunk=# select last(id) from party_party;
ERROR: function last(integer) does not exist
LINE 1: select last(id) from party_party;
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

> First you must create these aggregate functions
So it is clearly not standard. We can no assume everybody will create aggregate with this names with this definition.
For me, we must reject this request.