In a c# method, unlike all other statements the yield statements are not a sequence of instructions. Instead, they form a declarative specification of an iterator. In a sense they have something in common with the annotations/attributes in source code?
(How about the “using” statement (not the directive)? I feel it still maps to a sequence of instructions.)