(command.CommandList
  children: [
    (C {<set>} {<-o>} {<nounset>})
    (C {<set>} {<-o>} {<pipefail>})
    (C {<set>} {<-o>} {<errexit>})
    (C {<source>} {<'build/common.sh'>})
    (command.ShFunction
      name: grep-python
      body: 
        (BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {<find>} {($ Id.VSub_DollarName '$PY27')} {<-type>} {<f>})
                (C {<xargs>} {<grep>} {(DQ ($ Id.VSub_At '$@'))})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: pp-vars
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<gcc>} {<-E>} {<-dM>} {<->}]
              redirects: [
                (redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {($ Id.VSub_DollarName '$PY27') <'/pyconfig.h'>}
                )
              ]
              do_fork: T
            )
          ]
        )
    )
    (C {(DQ ($ Id.VSub_At '$@'))})
  ]
)