/// <summary>
 ///     Deletes The <see cref="StorageElement"/> (and all of its children if it is a <see cref="StorageFolder"/>).
 ///     If the <see cref="StorageElement"/> or one of its parent folders does not exist,
 ///     the method exits without errors.
 /// </summary>
 /// <param name="element">The <see cref="StorageElement"/>.</param>
 /// <param name="cancellationToken">
 ///     A <see cref="CancellationToken"/> which can be used to cancel the asynchronous operation.
 /// </param>
 /// <remarks>
 ///     Calling this method is equivalent to calling
 ///     <see cref="StorageElement.DeleteAsync(DeletionOption, CancellationToken)"/>
 ///     with the <see cref="DeletionOption.IgnoreMissing"/> parameter.
 /// </remarks>
 /// <exception cref="ArgumentNullException">
 ///     <paramref name="element"/> is <see langword="null"/>.
 /// </exception>
 /// <exception cref="OperationCanceledException">
 ///     The operation was cancelled via the specified <paramref name="cancellationToken"/>.
 /// </exception>
 /// <exception cref="UnauthorizedAccessException">
 ///     Access to The <see cref="StorageElement"/> is restricted.
 /// </exception>
 /// <exception cref="PathTooLongException">
 ///     The length of The <see cref="StorageElement"/>'s path exceeds the system-defined maximum length.
 /// </exception>
 /// <exception cref="IOException">
 ///     The <see cref="StorageElement"/> is a <see cref="StorageFile"/> (or <see cref="StorageFolder"/>) and a
 ///     conflicting folder (or file) exists at its path.
 ///
 ///     -or-
 ///
 ///     An undefined I/O error occured while interacting with the file system.
 /// </exception>
 public static Task DeleteOrIgnoreMissingAsync(
     this StorageElement element,
     CancellationToken cancellationToken = default
     )
 {
     _ = element ?? throw new ArgumentNullException(nameof(element));
     return(element.DeleteAsync(DeletionOption.IgnoreMissing, cancellationToken));
 }