So that's why I guess it has to be an object...
Moreover, some objects in pd have this interesting behavior.
When you have an argument in [*~], for example, it turns the second inlet into a data only inlet (no signal).
I found this behaviour even in some externals like [>~] in zexy, so I wonder if this is some restriction of pd objects itself, or if it was just a design option that was replicated in zexy on purpose.
If I have to do this as an object, I'd like it to maintain a signal inlet even though I have number argument. So I hope there's nothing "weird" in Pd that doesn't allow this to happen.
cheers