Show backtrace of failure under guard
Correct handling of nil inputs

Parser currently produces nil if run on an empty string