make array and set remove a bit smarter. Now handles primitive values as you would expect.