Nearly feature-complete - needs to not erase value on failed retrieval