Two polymorphic classes in one function
问题 I have this code with State monads: import Control.Monad.State data ModelData = ModelData String data ClientData = ClientData String act :: String -> State ClientData a -> State ModelData a act _ action = do let (result, _) = runState action $ ClientData "" return result addServer :: String -> State ClientData () addServer _ = return () scenario1 :: State ModelData () scenario1 = do act "Alice" $ addServer "https://example.com" I am trying to generalise it with polymorphic type-classes