(command.CommandList
  children: [
    (command.ShFunction
      name: k_bool_parse
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<value>})
            (C {<local>} 
              {<Id.Lit_VarLike 'default='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty))
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:value)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<k_bool_parse_error>} {(DQ ($ Id.VSub_Number '$1'))})
                                        )
                                      )
                                    }
                                  spids: [71]
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<echo>} {(DQ (${ Id.VSub_Name value))})]
                  spids: [69 83]
                )
              ]
              else_action: [
                (C {<echo>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<k_bool_parse>} {(DQ (${ Id.VSub_Name default))} {<false>})
                      )
                    )
                  }
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: k_bool_parse_error
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'value='> (DQ ($ Id.VSub_Number '$1'))})
            (command.Case
              to_match: 
                {
                  (DQ 
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<k_string_lower>} {(DQ (${ Id.VSub_Name value))})
                    )
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{<on>} {<true>} {<yes>} {<y>} {<1>}]
                  action: [(C {<echo>} {<true>})]
                  spids: [188 197 205 -1]
                )
                (case_arm
                  pat_list: [{<off>} {<false>} {<no>} {<n>} {<0>}]
                  action: [(C {<echo>} {<false>})]
                  spids: [209 218 226 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [230 231 239 -1]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: k_bool_test
      body: 
        (BraceGroup
          children: [
            (C {<Id.Lit_LBracket '['>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<k_bool_parse>} {(DQ ($ Id.VSub_At '$@'))})
                  )
                )
              } {<Id.Lit_Equals '='>} {<true>} {<Id.Lit_RBracket ']'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: k_bool_valid
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<k_bool_parse_error>} {(DQ ($ Id.VSub_Number '$1'))}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
              do_fork: T
            )
          ]
        )
    )
  ]
)