A thermal hydrocarbon recovery apparatus comprising: a plurality of steam injector tubes each provided with a plurality of injector autonomous inflow control devices, AICDs, spaced apart from each other along the length of each steam injector tube, a plurality of production tubes each provided with a plurality of production autonomous inflow control devices, AICDs, spaced apart from each other along the length of each production tube, wherein said injector AICDs are arranged to inject steam into a geological formation so as to reduce the viscosity of hydrocarbons in the formation; and wherein said production AICDs are arranged to permit the flow of heated hydrocarbons into said production tubes for movement to the surface, the apparatus characterized in that at least some of the injector AICDs comprise a body defining a flow path through the AICD and defining a recess containing a freely movable valve body, arranged so that movement of fluid along said flow path causes the valve body to move by exploiting the Bernoulli effect thus controlling the flow of fluid along said flow path; at least some of said production AICDs comprising a body defining a flow path through the AICD and defining a recess containing a freely movable valve body, arranged so that movement of fluid along said flow path causes the valve body to move by exploiting the Bernoulli effect thus controlling the flow of fluid along said flow path; wherein at least one of the production tubes has at least one said production AICD configured to exploit the Bernoulli effect to permit flow of heated hydrocarbons and condensed water into a production tube but to restrict the flow of steam into the production tube, and wherein at least one said injector AICD of at least one said steam injector tube is configured to have different properties relative to another said injector AICD of the said steam injector tube, said properties comprising at least one of size, dimensions, materials or scale, wherein the different properties of the injector AICDs are such that different pressure differentials in different AICDs produce a respective maximum flow rate. a plurality of steam injector tubes each provided with a plurality of injector autonomous inflow control devices, AICDs, spaced apart from each other along the length of each steam injector tube, a plurality of production tubes each provided with a plurality of production autonomous inflow control devices, AICDs, spaced apart from each other along the length of each production tube, wherein said injector AICDs are arranged to inject steam into a geological formation so as to reduce the viscosity of hydrocarbons in the formation; and wherein said production AICDs are arranged to permit the flow of heated hydrocarbons into said production tubes for movement to the surface, the apparatus characterized in that at least some of the injector AICDs comprise a body defining a flow path through the AICD and defining a recess containing a freely movable valve body, arranged so that movement of fluid along said flow path causes the valve body to move by exploiting the Bernoulli effect thus controlling the flow of fluid along said flow path; at least some of said production AICDs comprising a body defining a flow path through the AICD and defining a recess containing a freely movable valve body, arranged so that movement of fluid along said flow path causes the valve body to move by exploiting the Bernoulli effect thus controlling the flow of fluid along said flow path; wherein at least one of the production tubes has at least one said production AICD configured to exploit the Bernoulli effect to permit flow of heated hydrocarbons and condensed water into a production tube but to restrict the flow of steam into the production tube, and wherein at least one said injector AICD of at least one said steam injector tube is configured to have different properties relative to another said injector AICD of the said steam injector tube, said properties comprising at least one of size, dimensions, materials or scale, wherein the different properties of the injector AICDs are such that different pressure differentials in different AICDs produce a respective maximum flow rate.