pub fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
        match self {
            Arg::Explicit(term) => term.to_doc(),
            Arg::Implicit(_, param_label, None) => {
                Doc::text("{").append(param_label.to_doc()).append("}")
            },
            Arg::Implicit(_, param_label, Some(term)) => Doc::nil()
                .append("{")
                .append(param_label.to_doc())
                .append(Doc::space())
                .append("=")
                .append(Doc::space())
                .append(term.to_doc())
                .append("}"),
            Arg::Instance(_, param_label, None) => {
                Doc::text("{{").append(param_label.to_doc()).append("}}")
            },
            Arg::Instance(_, param_label, Some(term)) => Doc::nil()
                .append("{{")
                .append(param_label.to_doc())
                .append(Doc::space())
                .append("=")
                .append(Doc::space())
                .append(term.to_doc())
                .append("}}"),
        }
    }
/// Convert the argument into a pretty-printable document
Convert the argument into a pretty-printable document
Convert the argument into a pretty - printable document
pub fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
        match self {
            Arg::Explicit(term) => term.to_doc(),
            Arg::Implicit(_, param_label, None) => {
                Doc::text("{").append(param_label.to_doc()).append("}")
            },
            Arg::Implicit(_, param_label, Some(term)) => Doc::nil()
                .append("{")
                .append(param_label.to_doc())
                .append(Doc::space())
                .append("=")
                .append(Doc::space())
                .append(term.to_doc())
                .append("}"),
            Arg::Instance(_, param_label, None) => {
                Doc::text("{{").append(param_label.to_doc()).append("}}")
            },
            Arg::Instance(_, param_label, Some(term)) => Doc::nil()
                .append("{{")
                .append(param_label.to_doc())
                .append(Doc::space())
                .append("=")
                .append(Doc::space())
                .append(term.to_doc())
                .append("}}"),
        }
    }
pub fn to_doc ( & self ) -> Doc < ' _ , BoxDoc < ' _ , ( ) > > { match self { Arg :: Explicit ( term ) => term . to_doc ( ) , Arg :: Implicit ( _ , param_label , None ) => { Doc :: text ( " " ) . append ( param_label . to_doc ( ) ) . append ( " " ) } , Arg :: Implicit ( _ , param_label , Some ( term ) ) => Doc :: nil ( ) . append ( " " ) . append ( param_label . to_doc ( ) ) . append ( Doc :: space ( ) ) . append ( " " ) . append ( Doc :: space ( ) ) . append ( term . to_doc ( ) ) . append ( " " ) , Arg :: Instance ( _ , param_label , None ) => { Doc :: text ( " " ) . append ( param_label . to_doc ( ) ) . append ( " " ) } , Arg :: Instance ( _ , param_label , Some ( term ) ) => Doc :: nil ( ) . append ( " " ) . append ( param_label . to_doc ( ) ) . append ( Doc :: space ( ) ) . append ( " " ) . append ( Doc :: space ( ) ) . append ( term . to_doc ( ) ) . append ( " " ) , } }
Convert the argument into a pretty-printable document
Convert the argument into a pretty - printable document
&self