The following should work: ``` rust trait Future<T> { fn take(self) -> T; } trait Stream<T>: Future<Option<(T, Box<Stream<T>>)>> { } pub fn main() { println!("zomg"); } ```