That's a good point.

I think both cases (generic and specific) have use.

The generic case allows a kind of convention: All types defined by (string,int) 
can create the appropriate _val()_ function and get the _new()_ function for 
free.

The specific case allows for customization: A type can create a custom _new()_ 
and bind it (or not) to a custom _val()_ of their choosing.

Reply via email to