finish arrays, fully mimic eval.c so that boot.l doesn't need modification.

test/eval/maru-test still dies on some error yet to be fixed... :(