pub fn fold_func_def<T: ?Sized + AstFold>(
    fold: &mut T,
    func_def: FuncDef
) -> Result<FuncDef>