Caml: ref in module

Hi
I can’t understand why we use ref in modules,
in my book :
module Element = struct type t = int end;;
module Queue =
struct
type element = Element.t
type queue = element list ref
let create() = ((ref []) : queue)
end;;

Can you explain to me the “ref” in module Queue?

Thank you in advance.

First, you should probably use Markdown formatting to offset code in your question.

Second, see the paragraphs on “references” near the end of: http://caml.inria.fr/pub/docs/manual-ocaml/coreexamples.html#sec12