functionImpls (TLStruct{ struct_name = sname, struct_fields = fields })
 = do structInitImpl sname fields >> sayln' ""
      structCleanupImpl sname fields >> sayln' ""
      structSerializeImpl sname fields >> sayln' ""
      structDeserializeImpl sname fields >> sayln' ""
      mapM_ (\f -> arrayResizeImpl sname f >> sayln' "") (filter isResizable fields)
functionImpls (TLStruct{ struct_name = sname, struct_fields = fields })
 = do structInitImpl sname fields >> sayln' ""
      structCleanupImpl sname fields >> sayln' ""
      structSerializeImpl sname fields >> sayln' ""
      structDeserializeImpl sname fields >> sayln' ""
      mapM_ (\f -> arrayResizeImpl sname f >> sayln' "") (filter isResizable fields)
functionImpls (TLStruct{ struct_name = sname, struct_fields = fields })
 = do structInitImpl sname fields >> sayln' ""
      structCleanupImpl sname fields >> sayln' ""
      structSerializeImpl sname fields >> sayln' ""
      structDeserializeImpl sname fields >> sayln' ""
      mapM_ (\f -> arrayResizeImpl sname f >> sayln' "") (filter isResizable fields)