Usando um ParamArray, mas exigindo pelo menos um parâmetro

O que eu costumava ter:

Public Sub Subscribe(channel As ChannelType)
Public Sub Subscribe(channels As IEnumerable(Of ChannelType))

O primeiro apenas chama o segundo com{channel} para converter seu parâmetro em um array.

Eu decidi que ter que criar uma lista de canais para passar para o método era estranho e escolhi combinar as duas sobrecargas em um método que leva umParamArray.

Public Sub Subscribe(ParamArray channels() As ChannelType)

'Usage
Subscribe(ChannelType.News)
Subscribe(ChannelType.News, ChannelType.Sports)
Subscribe() 'Oops... this is valid

Qual é a "melhor prática" aqui? Eu gosto da flexibilidade queParamArray dá-me apenas deixando as pessoas passarem coisas, mas não ajuda o desenvolvedor a "falhar mais rápido" através do feedback do erro do compilador ... isso significa que algo como umArgumentException está fora de questão aqui, já que as pessoas que consomem esse método podem não estar gravando nenhum teste de unidade. Uma das opções é a seguinte ...

Public Sub Subscribe(channel As ChannelType)
Public Sub Subscribe(channel As ChannelType, ParamArray channels() As ChannelType)

Mas sinto que isso me coloca de volta à estaca zero, é confuso e exige que minha implementação desse método seja menos direta.