Define generic functional set and some simple types for the game