Split deserialization up into two pieces, so only one possible error can be live at a time
Remove useless argument to internal function
Merge pull request #15 from aredridel/improve-error-handling

Improve error handling