Currently we have a bad one written in old idioms, using @-pointers, in libextra. This is wrong three ways.