There should be better errors for unexpected types - e.g., they use a decimal field, and it gives an internal error.  Should it default  to returning LINK(type) instead?
What about nested rows?