(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (command.ShFunction name: basic-head body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'title=') ($ Id.VSub_Number '$1')}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:47) fd: -1 here_begin: {(EOF)} here_end_span_id: 83 stdin_parts: [ ('<!DOCTYPE html>\n') ('<html>\n') (' <head>\n') (' <title>') ($ Id.VSub_DollarName '$title') ('</title>\n') (' <style>\n') (' body {\n') (' margin: 0 auto;\n') (' width: 40em;\n') (' }\n') (' #home-link {\n') (' text-align: right;\n') (' }\n') (' </style>\n') (' </head>\n') (' <body>\n') (' <p id=') (Id.Right_DoubleQuote '"') (home-link) (Id.Right_DoubleQuote '"') ('>\n') (' <a href=') (Id.Right_DoubleQuote '"') (/) (Id.Right_DoubleQuote '"') ('>oilshell.org</a>\n') (' </p>\n') (' <h3>') ($ Id.VSub_DollarName '$title') ('</h3>\n') (' <p>\n') ] ) ] ) ] ) ) (command.ShFunction name: basic-tail body: (command.BraceGroup children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:96) fd: -1 here_begin: {(EOF)} here_end_span_id: 102 stdin_parts: [(' </body>\n') ('</html>\n')] ) ] ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )