I don't want to be too picky here, but does it feel like these three arguments are in the wrong order? Feels odd to have `value` in the middle. I would have expected it either first or last. But, it's a small thing, and changing it means changing lots of lines of this PR.