Return a boolean not an int.

  Promotion makes this work, but it is unseemly.
  Changed the type of the ::at method.

  Also added debug-assertions.
  Added debug assertions.
  Show the file which failed to parse, if such a thing
 occurs.

  Also comment updates.