generator: function signature