definition module Sokoban
-:: SokobanPuzzle = {
- width :: Int,
- height :: Int,
- data :: [[SokobanTile]]}
-:: SokobanTile = Wall | Free | Box | Target | Agent
+from StdString import class toString
+
+:: SokobanPuzzle = Sokoban [[SokobanTile]]
+:: SokobanTile = Free | Wall | Box | Target | Agent | TargetAgent | TargetBox
+
+instance toString SokobanTile
+instance toString SokobanPuzzle
parse :: String *World -> (SokobanPuzzle, *World)