Hmm..  Or maybe it will actually work:

```
local:marko=# create table foot();
CREATE TABLE
local:marko=#* create function foof() returns void as $$
declare
f foot;
i int;
begin
select 1, row() into i, f;
end
$$ language plpgsql;
ERROR:  "f" is not a scalar variable
LINE 6: select 1, row() into i, f;
                                ^
```

I guess this is the idea; we can assign the whole thing nicely if we can assume that we're working with valid PL/PgSQL to begin with.

Well, I'll probably have to have a closer look at this tomorrow.  My head hurts right now.