public static string Print(Program <Name> program)
        {
            var scDefs = program.Supercombinators.Select(Build);

            var sep  = Str(";\n\n");
            var node = Interleave(sep, scDefs);

            return(PrettyPrinter.Display(node));
        }
        public static string Print(TiState state)
        {
            var node = ShowState(state);

            return(PrettyPrinter.Display(node));
        }
        public static string Print(IEnumerable <TiState> states)
        {
            var node = Append(states.Select(ShowState).ToArray());

            return(PrettyPrinter.Display(node));
        }
 public static string Print(GmState state) => PrettyPrinter.Display(ShowState(state));
 public static string Print(Expression <Name> expr) => PrettyPrinter.Display(expr.Accept(ExpressionPrinter.Instance, null));
 public static string Print(SupercombinatorDefinition <Name> scDef)
 {
     return(PrettyPrinter.Display(Build(scDef)));
 }