pub extern crate tt_call; pub extern crate failure; mod join; mod parse; mod interface; mod context; pub trait Provide { fn provide(&self) -> T; } pub trait Factory { type Object; fn build() -> Result; } pub trait ProvideWith: Provide + Sized { fn provide_with Result>(&self, f: F) -> Result; }