 		}
 	}
 
+	///
+	/// Submits a block for synchronous execution on this queue.
+	///
+	/// Submits a work item to a dispatch queue like `sync(execute:)`, and returns
+	/// the value, of type `T`, returned by that work item.
+	///
+	/// - parameter execute: The work item to be invoked on the queue.
+	/// - returns the value returned by the work item.
+	/// - SeeAlso: `sync(execute:)`
+	///
 	public func sync<T>(execute work: () throws -> T) rethrows -> T {
 		return try self._syncHelper(fn: sync, execute: work, rescue: { throw $0 })
 	}
 
+	///
+	/// Submits a block for synchronous execution on this queue.
+	///
+	/// Submits a work item to a dispatch queue like `sync(execute:)`, and returns
+	/// the value, of type `T`, returned by that work item.
+	///
+	/// - parameter flags: flags that control the execution environment of the
+	/// - parameter execute: The work item to be invoked on the queue.
+	/// - returns the value returned by the work item.
+	/// - SeeAlso: `sync(execute:)`
+	/// - SeeAlso: `DispatchWorkItemFlags`
+	///
 	public func sync<T>(flags: DispatchWorkItemFlags, execute work: () throws -> T) rethrows -> T {
 		if flags == .barrier {
 			return try self._syncHelper(fn: _syncBarrier, execute: work, rescue: { throw $0 })

		}
	}

	public func asyncAfter(
		deadline: DispatchTime,
		qos: DispatchQoS = .unspecified,

		}
	}

	///
	/// Submits a work item to a dispatch queue for asynchronous execution after
	/// a specified time.
	///
	/// - parameter: deadline the time after which the work item should be executed,
	/// given as a `DispatchTime`.
	/// - parameter execute: The work item to be invoked on the queue.
	/// - SeeAlso: `asyncAfter(deadline:qos:flags:execute:)`
	/// - SeeAlso: `DispatchTime`
	///
	@available(macOS 10.10, iOS 8.0, *)
	public func asyncAfter(deadline: DispatchTime, execute: DispatchWorkItem) {
		CDispatch.dispatch_after(deadline.rawValue, self.__wrapped, execute._block)
	}

	///
	/// Submits a work item to a dispatch queue for asynchronous execution after
	/// a specified time.
	///
	/// - parameter: deadline the time after which the work item should be executed,
	/// given as a `DispatchWallTime`.
	/// - parameter execute: The work item to be invoked on the queue.
	/// - SeeAlso: `asyncAfter(wallDeadline:qos:flags:execute:)`
	/// - SeeAlso: `DispatchTime`
	///
	@available(macOS 10.10, iOS 8.0, *)
	public func asyncAfter(wallDeadline: DispatchWallTime, execute: DispatchWorkItem) {
		CDispatch.dispatch_after(wallDeadline.rawValue, self.__wrapped, execute._block)
