In roundHandlesBoundaryConditions, I think the the `-0.5` should be positive in the second half (i.e. `Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1`).