Macro joining Thrift structs.

You could probably do a partition to divide `allFieldsByName` into ones with the same return type and ones without and then check if that second list is empty. That way you don't have to do th exist and filter.