A heat exchanger comprising: a heat exchanger body; a first set of flow channels defined in the heat exchanger body extending axially with respect to a first flow axis, wherein the first set of the flow channels forms a first flow circuit; a second set of flow channels defined in the heat exchanger body extending axially with respect to a second flow axis, wherein the second set of the flow channels forms a second flow circuit that is in fluid isolation from the first flow circuit, wherein each flow channel is fluidly isolated from the other flow channels; wherein at least some of the flow channels have cross-sections that vary along their respective flow axis; wherein the heat exchanger body includes a first end and a second end opposed to the first end along the first flow axis, wherein the first flow axis and the second flow axis are aligned in a common direction, wherein each flow channel of the first flow circuit includes a respective inlet on the first end of the heat exchanger body and a respective outlet on the second end of the heat exchanger body, and wherein each flow channel of the second flow circuit includes a respective inlet on the second end of the heat exchanger body and a respective outlet on the first end of the heat exchanger body; wherein each adjacent pair of the flow channels is separated from one another by a heat exchanger wall, characterized in that the heat exchanger wall changes in cross-section from the first end of the heat exchanger body to the second end of the heat exchanger body; and in that the flow channels of the first flow circuit have cross-sections of a first shape, and the flow channels of the second flow circuit have cross-sections of a second shape different from the first shape. a heat exchanger body; a first set of flow channels defined in the heat exchanger body extending axially with respect to a first flow axis, wherein the first set of the flow channels forms a first flow circuit; a second set of flow channels defined in the heat exchanger body extending axially with respect to a second flow axis, wherein the second set of the flow channels forms a second flow circuit that is in fluid isolation from the first flow circuit, wherein each flow channel is fluidly isolated from the other flow channels; wherein at least some of the flow channels have cross-sections that vary along their respective flow axis; wherein the heat exchanger body includes a first end and a second end opposed to the first end along the first flow axis, wherein the first flow axis and the second flow axis are aligned in a common direction, wherein each flow channel of the first flow circuit includes a respective inlet on the first end of the heat exchanger body and a respective outlet on the second end of the heat exchanger body, and wherein each flow channel of the second flow circuit includes a respective inlet on the second end of the heat exchanger body and a respective outlet on the first end of the heat exchanger body; wherein each adjacent pair of the flow channels is separated from one another by a heat exchanger wall, characterized in that the heat exchanger wall changes in cross-section from the first end of the heat exchanger body to the second end of the heat exchanger body; and in that the flow channels of the first flow circuit have cross-sections of a first shape, and the flow channels of the second flow circuit have cross-sections of a second shape different from the first shape.