(* Recursive factorial with nested comments and strings *)
(* Outer comment starts
   (* Nested comment should be ignored by parser *)
*)
structure Demo = struct
  fun fact n =
    if n <= 1 then 1
    else n * fact (n - 1);

  // Winged-comment syntax per trait table
  val msg = "factorial(6) = ";
  val _ = print (msg ^ Int.toString (fact 6));
end;
