I think it might be easier to follow if we leave `value` as the final return value from both methods, wdyt?