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