type place = | Room of string| Carried| Inside of string| Nowhere
type world = {here : string;places : (string * place) list;flags : string list;score : int;turns : int;
}val start : string -> (string * place) list -> worldval has : world -> string -> boolval visible : world -> string -> boolval in_room : world -> string listval carried : world -> string listtype sentence = {verb : string;obj : string option;with_ : string option;
}