(CommandList children: [ (C {(set)} {(-e)}) (FuncDef name: check body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:number_of_occurrence) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {($ VSub_Number '$2')} {(./) ($ VSub_Number '$1')} {(-o)}) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [78 92] ) } spids: [77] ) ] spids: [77] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$number_of_occurrence')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Number '$3')} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('String literals were not merged'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 109] ) ] spids: [16777215 124] ) ] spids: [74] ) spids: [70 73] ) (C {(check)} {(merge_string_literals.stdout)} {(DQ (abcd))} {(2)}) ] )