>>491

sum(Integer, Integer) -> Integer
sum(Float, Float) -> Float
sum(Float, Integer) -> Float
sum(Integer, Float) -> Float
sum(Float, Cat) -> TypeError
sum(Drink, IceCream) -> Float

的なのはどう表現するの?