set returned arrays readonly when using after modifiers

It isn't possible to properly pass through an lvalue array without
having it as the final call in a function, which would be required to
apply an after modifier.  Instead of allowing it to fail silently,
return a readonly array, which will trigger an error.