pub fn fold_unaryop<U, F: Fold<U> + ?Sized>(
    folder: &mut F,
    node: Unaryop
) -> Result<Unaryop, F::Error>