pub fn pretty_print<'a, I, T, A>( printer: &Printer<'a, I, A>, typ: &'a T ) -> DocBuilder<'a, Arena<'a, A>, A>where I: AsRef<str> + 'a, T: TypePtr<Id = I> + HasSpan + HasMetadata, T::SpannedId: AsRef<str> + AsId<I> + 'a, A: Clone,