Hi David,
A. The clone method upon receiving duplicate keys returns a cloned object with duplicate keys inside [_KEYS]. This is similar to a prior bug in ->new.
$copy = $ho->clone(qw/ k1 k2 k2 k3 /); # [_KEYS] has "k2" twice
B. Sugar methods do not check if the key exists in [_DATA].
$ho = Hash::Ordered->new();
$ho->preinc("counter"); # "counter" is missing in [_KEYS]
C. ->postdec returns undef the first time. Interestingly, postinc returns 0 even though not doing // 0 or || 0 inside the code. It appears that Perl isn't consistent with post -- and ++ to an undefined value.
perli> $ho = Hash::Ordered->new
bless( [
{},
[],
undef,
0,
0
], 'Hash::Ordered' )
perli> $ho->postinc("key1")
0
perli> $ho->postdec("key2")
undef