pub trait Build<T, E> { type Result: Future<Item = T, Error = E>; // Required method fn build(self) -> Self::Result; }