Literal type "casting" does not work inside modules
The strange literal type "casting" behavior does not work inside modules:
(* works *)
let works = (0 : timestamp)
(* does not work: *)
(* Invalid type(s).
Expected: "timestamp", but got: "int". *)
module Does_not_work = struct
let does_not_work = (0 : timestamp)
end
let main (_ : unit * timestamp) : operation list * timestamp =
(([] : operation list), works)