function errorStream() {
        return _(function (push) {
            push(new Error('Stream returned by function was empty.'));
            push(null, _.nil);
        });
    }
Filters using a predicate which returns a Stream. If you need to check
against an asynchronous data source when filtering a Stream, this can
be convenient. The Stream returned from the filter function should have
a Boolean as its first value (all other values on the Stream will be
disregarded).

@id flatFilter
@section Higher-order Streams
@name Stream.flatFilter(f)
@param {Function} f - the truth test function which returns a Stream
@api public

var checkExists = _.wrapCallback(fs.access);

filenames.flatFilter(checkExists)