UnmarshalJSON returns an error for invalid zero.* types, tests