(* State of the world, contains all the required information at any point *) type t = { mutable cartridge : Cartridge.t option; } (* Global reference *) let state = ref { cartridge = None } let load_cartridge file = let cartridge = Cartridge.read_cartridge file in !state.cartridge <- cartridge; match cartridge with | Some c -> Cartridge.print_info c; true | None -> false