I'm not of a mind to write up an RFC, because I'm not yet sure what I'm suggesting, so requesting comments would be spurious at best. Having put a lot of time in recently on an XS-implemented tied hash class, I've noted that the standard hashtable iterator support (at least for tied hashes) has no allowance for just iterating over the keys (or values, for that matter). Rather, each call to FIRSTKEY or NEXTKEY is expected to return a key/value pair. So, if we're looking for ways to improve efficiency, particularly in the area of tie(), how about some means by which to iterate over just one half of a hash_ent? In the case of tied hashes, that would be a reduction of one redirected operation per iteration. In the case of the code I've been working on, or more generically for cases where the value half of the HE* requires additional processing/computation, would notice a significant improvement in manipulating the hash keys in various list contexts. Randy -- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Randy J. Ray | "NSA doesn't need a key to compromise security in [EMAIL PROTECTED] | Windows. Programs like Back Orifice can do it without 415-777-9810 x246 | any keys." --Bruce Schneier on the MS/NSA controversy