pub fn fold_optional_box<F>(
    fold: &mut F,
    opt: Option<Box<Expr>>
) -> Result<Option<Box<Expr>>, Error>
where F: PlFold + ?Sized,