I was doing some pair programming with someone with a different background and we were implementing a dict
like class for on disk storage of key value pairs.
We reached a point where we had a discussion over the difference between the following implementations:
UPDATE: Note that the question is which method should call which :) It is toy code, written in minutes, without tests. Focus on the differences between the implementations and their flows, not edge cases and bugs.