functionProtos (TLStruct{ struct_name = sname, struct_fields = fields })
 = do sayln' $ structInitProto sname ++ ";"
      sayln' $ structCleanupProto sname ++ ";"
      sayln' $ structSerializeProto sname ++ ";"
      sayln' $ structDeserializeProto sname ++ ";"
      mapM_ (\f -> sayln' $ arrayResizeProto sname f ++ ";") (filter isResizable fields)
functionProtos (TLStruct{ struct_name = sname, struct_fields = fields })
 = do sayln' $ structInitProto sname ++ ";"
      sayln' $ structCleanupProto sname ++ ";"
      sayln' $ structSerializeProto sname ++ ";"
      sayln' $ structDeserializeProto sname ++ ";"
      mapM_ (\f -> sayln' $ arrayResizeProto sname f ++ ";") (filter isResizable fields)
functionProtos (TLStruct{ struct_name = sname, struct_fields = fields })
 = do sayln' $ structInitProto sname ++ ";"
      sayln' $ structCleanupProto sname ++ ";"
      sayln' $ structSerializeProto sname ++ ";"
      sayln' $ structDeserializeProto sname ++ ";"
      mapM_ (\f -> sayln' $ arrayResizeProto sname f ++ ";") (filter isResizable fields)