YS
Size: a a a
YS
E
E
E
E
robot (name, attack, hp) = \message -> message (name, attack, hp)E
robot :: (String, Int, Int) -> ((String, Int, Int) -> a) -> aE
((String, Int, Int) -> a) -> a оформить в виде синонимаYS
IK
Robot aIK
YS
YS
E
YS
robot :: forall a . (String, Int, Int) -> ((String, Int, Int) -> a) -> a
вот так оно выглядит, если явно forall сделатьJS
E
setName aRobot newName = aRobot (\(_, a, h) -> robot (newName, a, h))E
JS
YS
(String, Int, Int)YS