I think the former is simpler ("always use coercion"), but the latter makes it possible to define various other things that, although not isomorphic with builtin numbers, can still use arithmetic operators.
I haven't understood what Larry meant with hard constraint but I would opt for ([3]). In general the builtin operators should be grouped into roles which are in turn composed into classes like Num which implement them. -- TSa (Thomas Sandlaß)