E
Size: a a a
E
E
YS
YS
YS
E
fightOneRound robotA robotB = (robotA', robotB') where robotA' = fight robotA robotB robotB' = fight robotB robotAE
JS
E
YS
YS
YS
YS
E
Occurs check: cannot construct the infinite type и много всякогоJS
robot :: forall a . (String, Int, Int) -> ((String, Int, Int) -> a) -> a
вот так оно выглядит, если явно forall сделатьYS
YS
YS
JS
JS
type Robot = forall a. ((String, Integer, Integer) -> a) -> a