data Action a =
Login UserID
| Logout
| StartGame Game UserID
| GameAction a
| GameOver Status
| Error Status
main1 = toString (Login "asd")
class Serializable a where
toString :: a -> String
fromString :: String -> a
instance Serializable a => Serializable (Action a) where
toString (Login user) = "Login,(" ++ user ++ ")"
etc....
Actions.hs:20:8:
Ambiguous type variable `a' in the constraint:
`Serializable a'
arising from a use of `toString' at Actions.hs:20:8-29
Probable fix: add a type signature that fixes these type variable(s)
Failed, modules loaded: none.