!7 srecord Superposition(Cl options) {} srecord Sequence(L steps) {} asclass GrammarClass {} sclass Statement > GrammarClass {} srecord grab(O what) {} // what: string or a GrammarClass cprint { start-thread { Superposition main = Superposition( Sequence( grab("I"), grab("think"), Superposition( Sequence( grab("that"), grab(Statement) ), grab(Statement) ) ), Sequence( grab("Do"), grab("you"), grab("think"), grab("that"), grab(statement), grab("?") ), grab(Statement) ); printIndentedStruct(main); } }