Improved array implementation (supporting unevaluated array values now)