pub fn debug_render_with<F>(&self, render_var: F) -> String
    where
        F: Fn(usize) -> String + Copy,
    {
        match self {
            Self::Variable(var) => render_var(*var),
            Self::Type => String::from("Type"),
            Self::Function { parameters } => {
                let mut output = String::from("(");
                let len = parameters.len();
                parameters.iter().enumerate().for_each(|(i, param)| {
                    output.push_str(&param.debug_render());
                    if i + 1 != len.into() {
                        output.push_str(", ");
                    }
                });
                output.push_str(") -> Type");
                output
            }
            Self::Row => String::from("Row"),
        }
    }
/// Render the kind as a compact, single-line string.
/// Useful for testing and debugging, but not much else...
///
/// The caller must decide how to render kind variables via `render_var`.
Render the kind as a compact, single-line string.
Useful for testing and debugging, but not much else

The caller must decide how to render kind variables via `render_var`.
Render the kind as a compact single - line string . Useful for testing and debugging but not much else The caller must decide how to render kind variables via ` render_var ` .
pub fn debug_render_with<F>(&self, render_var: F) -> String
    where
        F: Fn(usize) -> String + Copy,
    {
        match self {
            Self::Variable(var) => render_var(*var),
            Self::Type => String::from("Type"),
            Self::Function { parameters } => {
                let mut output = String::from("(");
                let len = parameters.len();
                parameters.iter().enumerate().for_each(|(i, param)| {
                    output.push_str(&param.debug_render());
                    if i + 1 != len.into() {
                        output.push_str(", ");
                    }
                });
                output.push_str(") -> Type");
                output
            }
            Self::Row => String::from("Row"),
        }
    }
pub fn debug_render_with < F > ( & self , render_var : F ) -> String where F : Fn ( usize ) -> String + Copy , { match self { Self :: Variable ( var ) => render_var ( * var ) , Self :: Type => String :: from ( " " ) , Self :: Function { parameters } => { let mut output = String :: from ( " " ) ; let len = parameters . len ( ) ; parameters . iter ( ) . enumerate ( ) . for_each ( | ( i , param ) | { output . push_str ( & param . debug_render ( ) ) ; if i + 1 != len . into ( ) { output . push_str ( " " ) ; } } ) ; output . push_str ( " " ) ; output } Self :: Row => String :: from ( " " ) , } }
Render the kind as a compact, single-line string.
Render the kind as a compact single - line string .
&self
render_var
F
&self
render_var
F