OCamlが最低なのは、仕様が無いことじゃなくて、マニュアルに書いてある構文規則と実装が全然違うことだよな。

実装:(parsing/parser.mlyから抜粋)

structure:
    structure_tail
  | seq_expr structure_tail
  ;

マニュアル:

unit-implementation ::= { definition  [;;] }

definition ::=	let [rec] let-binding   { and let-binding }  
 	|	external value-name :  typexpr =  external-declaration  
 	|	type-definition  
 	|	exception-definition  
 	|	class-definition  
 	|	classtype-definition  
 	|	module module-name  { ( module-name :  module-type ) }  [ : module-type ]  =  module-expr  
 	|	module type modtype-name =  module-type  
 	|	open module-path  
 	|	include module-expr

そのseq_exprはどこから出てきたんだ…