ppItem (FunctionItem t name decls stmt)
  = char '\n' <>  text "function" <+> mb ppFunctionType t <+> ppIdent name <> semi $$
    nest 2 (vcat (map ppLocalDecl decls) $$
            ppStatement stmt) $$
    text "endfunction"
ppItem (FunctionItem t name decls stmt)
  = char '\n' <>  text "function" <+> mb ppFunctionType t <+> ppIdent name <> semi $$
    nest 2 (vcat (map ppLocalDecl decls) $$
            ppStatement stmt) $$
    text "endfunction"
ppItem (FunctionItem t name decls stmt)
  = char '\n' <>  text "function" <+> mb ppFunctionType t <+> ppIdent name <> semi $$
    nest 2 (vcat (map ppLocalDecl decls) $$
            ppStatement stmt) $$
    text "endfunction"