fixed bug with primitive array casting; all metacircular tests pass