var hasGroup = (arguments.length === 3),
        group = hasGroup ? arguments[1] : undefined,
        func  = hasGroup ? arguments[2] : arguments[1];