Use the linear size of the pointer not its storage size in offset calculations.

Fixes #17