<div dir="ltr">Dear Haskellers,<br><div class="gmail_quote"><div dir="ltr"><br>I&#39;m trying to define a polymorphic &quot;add&quot; function which takes a variable number of arguments (instance of Num) and returns their sum. I don&#39;t want to specify the types of the arguments while calling the function, I just want to , at most, specify the return type (<b>it should infer that the return type is the type of the arguments</b>).<br>

<br>class Add a b where<br>    add :: a -&gt; b<br><br>instance Num a =&gt; Add a a where<br>    add = id<br><br>instance (Num a, Add a b) =&gt; Add (a -&gt; b) where<br>    add x y = add (x + y)<br><br>Can someone tell me why this is not working and propose a fix for this, if possible?<br>

<br>Thanks in advance<br></div>
</div></div>