pub fn fold_func_param<T>(
    fold: &mut T,
    nodes: Vec<FuncParam>
) -> Result<Vec<FuncParam>, Error>
where T: PlFold + ?Sized,