WIP: use 2-phase commit to fix race
use 1-kcSize for faster masking
squash! 7231016
simplify checkWithPosition
add more docs
loosen size check for checkWithPosition
fix writer race
update docs