pub fn fold_type_opt<T>( fold: &mut T, ty: Option<Ty> ) -> Result<Option<Ty>, Error>where T: PlFold + ?Sized,