(.using
  [library
   [lux {"-" list}
    ["$" documentation {"+" documentation:}]
    [control
     ["<>" parser
      ["<[0]>" code]]]
    [data
     ["[0]" text {"+" \n}
      ["%" format {"+" format}]]]
    [macro
     [syntax {"+" syntax:}]
     ["[0]" code]
     ["[0]" template]]]]
  [\\library
   ["[0]" /]]
  ["[0]" / "_"
   ["[1][0]" priority]])

(documentation: (/.Queue it)
  "A first-in, first-out sequential data-structure.")

(documentation: /.of_list
  ""
  [(of_list entries)])

(documentation: /.list
  ""
  [(list queue)])

(documentation: /.front
  "Yields the first value in the queue, if any.")

(documentation: /.member?
  ""
  [(member? equivalence queue member)])

(documentation: /.next
  ""
  [(next queue)])

(documentation: /.end
  ""
  [(end val queue)])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..Queue
             ..of_list
             ..list
             ..front
             ..member?
             ..next
             ..end
             ($.default /.empty)
             ($.default /.size)
             ($.default /.empty?)
             ($.default /.equivalence)
             ($.default /.functor)]
            [/priority.documentation]))
