added useVarArgs and reuse hasSequenceParam