(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)} {($ VSub_DollarName '$HOME')}) (command.SimpleCommand words: [{(grep)} {(DQ ("let f : 'a => 'a = <fun>"))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] negated: F ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('rtop is failing! Failed to evaluate ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('let f a => a;') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 81] ) ] else_action: [ (command.Pipeline children: [ (C {(echo)} { (DQ ('let f a => 1 + ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (hi) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';') ) } ) (C {(utop)} {(-init)} {(src/rtop_init.ml)} {(-I)} {($ VSub_DollarName '$HOME')}) (command.SimpleCommand words: [{(grep)} {(DQ ('Error: This expression has type'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] negated: F ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('rtop is failing! Failed to (correctly) error on ') (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) ('let f a => 1 + ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (hi) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (';') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 153] ) ] spids: [16777215 175] ) ] spids: [98 177] ) ] )