fix Issue 11403 - functions in std.algo can't be used as pred
Make std.container.Array assert.
Remove dubious support for Unqual!R
Tweak blocks for consistency
Make internal attributes private
Tweak save implementation
tweak opDollar's DollarToken
new-style aliases
Use preconditions over asserts
rework slicing
Rework qualifiers in Cycle!Array
std.file: Fix race condition when mkdirRecurse runs concurrently

mkdirRecurse would crash if a directory was created between its
exists() and mkdir() calls. This could occur if mkdirRecurse was called
at the same time from mutiple threads or processes.

Instead of relying on the exists() check to indicate whether the next
mkdir() should succeed, we explicitly ignore "already exists" errors
from the OS. Note that this changes the behavior of mkdirRecurse when
the leaf directory already existed: previously it would throw, whereas
now it will silently succeed. The new behavior is conformant with some
other implementations of "recursive mkdir": the -p flag of the GNU
tool, Ruby's mkpath, Java's mkdirs, and Perl's make_path. (On the
other hand, the old behavior was equivalent to the behavior of
Python's makedirs).
std.file: Simplify/optimize mkdirRecurse

The left.length != pathname.length check both takes care of the
Windows-only check, and it avoids a pointless stat on the FS root.
Merge pull request #1835 from monarchdodra/cycle2

Bring the noise to Cycle
Merge pull request #1818 from CyberShadow/std-file-mkdirRecurse

std.file: Fix race condition when mkdirRecurse runs concurrently
Merge pull request #1713 from monarchdodra/ArrayAssert3

Make std.container.Array assert.
Merge pull request #1819 from monarchdodra/equalEqual

fix Issue 11403 - functions in std.algo can't be used as pred
Fixup commit a8177b8cc3300fd64eef0acb7397be15fb0e0b4c

Per https://github.com/D-Programming-Language/phobos/commit/a8177b8cc3300fd64eef0acb7397be15fb0e0b4c#commitcomment-4991972 :
"nothrow" was superfluous
Merge pull request #1839 from monarchdodra/cycle3

Fixup commit a8177b8cc3300fd64eef0acb7397be15fb0e0b4c