Is there a reason that the modification functions (e.g. add
, take
, etc) in the Queue module do not return a new Queue.t
object? For example, Queue.add
returns unit
instead of Queue.t
.
This seems inconsistent with (and less functional than) the List and Array modules that return a fresh object after each modification function.