pub fn unwrap_block<I: Span, F, O>(
    kind: BlockKind,
    f: F
) -> impl FnMut(I) -> Res<I, O>where
    F: FnMut(I) -> Res<I, O>,