extra put semantics should not depend on reading semantics