Just to be sure this works really well I'd like to see a slightly longer test that does something like this:

Queue size 3

Assert peek = undefined
Fetch, assert result = undefined
Add one, two
Assert size = 2
Assert peek = one
Fetch, assert result = one
Add three, four, five, six, seven
Assert drop count = 3
Assert size = 3
Assert peek = five
Fetch, assert result = five
Fetch, assert result = six
Fetch, assert result = seven
Assert size = 3
Assert drop count = 3
Assert peek = undefined

Can we also rename 'size' to 'capacity' to avoid confusion.