I'd cache the whole cursor returned by `mark.find()`, and then do

```
var pos = mark.find();
return motionArgs.linewise
    ? { line: pos.line, ch: findFirstNonWhiteSpaceCharacter(cm.getLine(pos.line))
    : pos;

No reason to call it twice