Simplification of Genarg unpackers.

Instead of having a version of unpackers for each level, we use a dummy argument
to force unification of types.
Type-safe version of genarg list / pair / opt functions.