This is not a bug; it is a misuse of the User type's "groups"
property. If you read useradd's docs you will find that the groups
specified via the -g or -G argument must already be present on the
system. You will also see that the groups specified via -G are
*supplemental* groups, and that corresponds to the Puppet type
reference's constraint that the 'groups' property should not include
the user's primary group.
The first thing to do is remove "someuser" from the declared
supplemental groups. If you stop with that, then useradd will
probably do what you want. If you want to be more explicit, however,
then you need to declare the "someuser" group as a managed resource,
ensure that it gets applied before the "someuser" user (use the
"require" parameter), and specify it as the value of the user's "gid"
property.