Fleshing out the public API.
Include line number in syntax errors.
Implement Marshal().