Correct handling for a few more cases:

* Non-field arrays
* :function-pointer
* Anonymously-typed array fields