all tests pass
version without Array node impl