Avoid optional properties since JSON stringify should ignore the undefined value per #sec-15.12.3 1.4.b.ii.5
return correct rejection reasons when input array is sparse