(command.CommandList children: [ (C {<echo>} {(DQ <'Testing rtop...'>)}) (command.Pipeline children: [ (C {<echo>} {(DQ <'let f a => a;'>)}) (C {<utop>} {<-init>} {<'src/rtop_init.ml'>} {<-I>} {($ Id.VSub_DollarName '$HOME')}) (command.Simple words: [{<grep>} {(DQ <'let f : \'a => \'a = <fun>'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'rtop is failing! Failed to evaluate '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'let f a => a;'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [68 81] ) ] else_action: [ (command.Pipeline children: [ (C {<echo>} { (DQ <'let f a => 1 + '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <hi> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';'> ) } ) (C {<utop>} {<-init>} {<'src/rtop_init.ml'>} {<-I>} {($ Id.VSub_DollarName '$HOME')}) (command.Simple words: [{<grep>} {(DQ <'Error: This expression has type'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'rtop is failing! Failed to (correctly) error on '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <'let f a => 1 + '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <hi> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <';'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [140 153] ) ] ) ] ) ] )