anchor.diff:     *     files and directories. Recursive watching is not supported.
      *   * `Mac OS`: Uses `FSEvents`. The implementation supports watching both
      *     files and directories. Recursive watching is supported.
  +   *     Note: events happened slightly before calling [watch], may be part of
  +   *     the returned stream, on Mac OS.
      *
      * The system will start listening for events once the returned [Stream] is
      * being listened to, not when the call to [watch] is issued.
  
positive.code:    *   * The [Stream] is canceled, e.g. by calling `cancel` on the
     *      [StreamSubscription].
     *   * The [FileSystemEntity] being watches, is deleted.
     */
    Stream<FileSystemEvent> watch({int events: FileSystemEvent.ALL,
                                   bool recursive: false})
  
negative.code: 
  
  /**
   * Base event class emitted by [FileSystemEntity.watch].
   */
  class FileSystemEvent {
    /**
     * Bitfield for [FileSystemEntity.watch], to enable [FileSystemCreateEvent]s.
     */
    static const int CREATE = 1 << 0;
  
    /**
     * Bitfield for [FileSystemEntity.watch], to enable [FileSystemModifyEvent]s.
     */
    static const int MODIFY = 1 << 1;
  
    /**
     * Bitfield for [FileSystemEntity.watch], to enable [FileSystemDeleteEvent]s.
     */
    static const int DELETE = 1 << 2;
  
    /**
     * Bitfield for [FileSystemEntity.watch], to enable [FileSystemMoveEvent]s.
     */
    static const int MOVE = 1 << 3;
  
    /**
     * Bitfield for [FileSystemEntity.watch], for enabling all of [CREATE],
     * [MODIFY], [DELETE] and [MOVE].
     */
    static const int ALL = CREATE | MODIFY | DELETE | MOVE;
  
    static const int _MODIFY_ATTRIBUTES = 1 << 4;
  