clean up abstract array access handling
allow abstract array access + unop (see #3247)