为什么 Utop 以不同的方式对待这段 Ocaml 代码

Why does Utop treat this Ocaml code differently

module D = struct type t = float list end
module DF(D) = struct type t = D.t end

在 utop 中出现语法错误

然而,

module D = struct type t = float list end;;
module DF(D) = struct type t = D.t end

没有

Utop 忽略 ;; 右侧的所有内容,因为 ;; 表示顶层短语的结束。