The compilation that is now conditioned on FW_ARRAY_TO_STRING should be conditioned on FW_SERIALIZABLE_TO_STRING. It doesn't make sense to treat arrays separately from structs, because structs can have arrays in them. In other words, FW_SERIALIZABLE_TO_STRING should not govern just the code gen for structs: it should govern the code gen of all serializable types.
The compilation that is now conditioned on FW_ARRAY_TO_STRING should be conditioned on FW_SERIALIZABLE_TO_STRING. It doesn't make sense to treat arrays separately from structs, because structs can have arrays in them. In other words, FW_SERIALIZABLE_TO_STRING should not govern just the code gen for structs: it should govern the code gen of all serializable types.
Related to #303.