Well I have a game type and a shape type for my tetris game. Perhaps because I'm not an expert programmer, the two types need to know about each other for it to work. As far as I can tell, there aren't any cyclic references.
The game type has a list of shapes in play, and the shape methods need to know about what game they are updating when they do stuff.
The game type has a list of shapes in play, and the shape methods need to know about what game they are updating when they do stuff.