Egg_mode 401 unauthorized when trying to bind to twitter stream

Hi I'm trying to use the egg_mode crate to retrieve a stream of tweets as per the example here: https://github.com/egg-mode-rs/egg-mode/blob/master/examples/stream_filter.rs but with just a slight difference in the way I input my token.

#[tokio::main]
async fn main() {

    let con_token = egg_mode::KeyPair::new(CONSUMER_KEY, CONSUMER_SECRET);

    println!("Live streaming tweets...");

    println!("Ctrl-C to quit\n");

    let stream = egg_mode::stream::filter()
        .track(&["rustlang"])
        .start(&Token::Bearer(BEARERTOKEN.to_string()))
        .try_for_each(|m| {
            if let StreamMessage::Tweet(tweet) = m {
                println!("{}\n{}",tweet.created_at,tweet.text);
           } else {
                println!("{:?}",m);
            }
            futures::future::ok(())
        });
    if let Err(e) = stream.await {
        println!("Stream error: {}", e);
        println!("Disconnected")
    }
}

However I keep getting a 401 unauthorized error.

Using the same bearer token, I am able to retrieve tweets with no problem using egg_mode::tweet::user_timeline as per the example here: https://github.com/egg-mode-rs/egg-mode/blob/master/examples/bearer.rs

What could be the problem?

I've found a workaround by using the Access variant of the Token enum instead of the Bearer variant. When I do this it works.