pub type Miniprotocol<A, B, R>where A: ProtocolState<R>, B: StageState<A, R>, R: RoleT, = impl Fn((A, B), Inputs<B::LocalIn>, Effects<Inputs<B::LocalIn>>) -> BoxFuture<'static, (A, B)> + Send + 'static;