structure Queue = struct exception EmptyQueue; type 'a queue = 'a list; val create = nil; fun enqueue(x,Q) = Q@[x]; fun dequeue(nil) = raise EmptyQueue | dequeue(q::qs) = (q,qs); fun isEmpty(nil) = true | isEmpty(_) = false; end;