return undefined if item expired, but hasn't been reaped

there are also some tests