fn serve_subscription<S: Stream>(
    sub: Option<S>
) -> Result<Map<S, fn(_: <S as Stream>::Item) -> Result<<S as Stream>::Item, Error>>, Error>