( parsed is tight, all comments ahead. We read the first char
  outside of the loop because it *has* to be nonzero, which
  means _pdacc *has* to return 0.

  Then, we check for '-'. If we get it, we advance by one,
  recurse and invert result.

  We loop until _pdacc is nonzero, which means either WS or
  non-digit. 1 means WS, which means parsing was a success.
  -1 means non-digit, which means we have a non-decimal. )