It looks like there's a bug in the error-handling code when an ISA segment hasn't been generated yet. The problem is in builder/generation.rb#L36. Here zipper.append fails when zipper is a RootCursor (i.e., the parse tree is empty). The example code in #123 will reproduce the error.
The correct behavior would be the same behavior that results when inserting an invalid segment somewhere else in the document (after an ISA has been generated). This would be a good issue for a contributor to work on, since it will take someone on a short tour of the internals without requiring much surgery on them. It's likely fixed with a few lines at the previously mentioned location.