Some modern or old languages (GO, Lua, CLU) has similarly designed function
OUT parameters like PLpgSQL.
In these languages is usually supported parallel assignment. It is not
supported by PLpgSQL - there is workaround - using SELECT FROM, but it is
workaround. The implementation of PA is trivial.
CREATE OR REPLACE FUNCTION fx(OUT a int, OUT b int)
AS $$ ...
possibilities of CALL and assignment
recvar := fx();
rowvar := fx();
SELECT * FROM fx() INTO a, b;
Lua, Golang like proposal:
a, b := fx();
Comments, notes, ideas?