[fixes #1] enforces use of correct signedness