change to array ('ordered map', alist) approach
a (weak) test for ordering; fix test warnings
update for array approach