pub fn fold_pipeline<T: ?Sized + AstFold>(
    fold: &mut T,
    pipeline: Pipeline
) -> Result<Pipeline>