Moq ReturnsAsync () com parâmetros

Estou tentando zombar do método de um repositório assim

public async Task<WhitelistItem> GetByTypeValue(WhitelistType type, string value)

usando Moq ReturnsAsync, assim:

static List<WhitelistItem> whitelist = new List<WhitelistItem>();

var whitelistRepositoryMock = new Mock<IWhitelistRepository>();

whitelistRepositoryMock.Setup(w => w.GetByTypeValue(It.IsAny<WhitelistType>(), It.IsAny<string>()))
                                    .ReturnsAsync((WhitelistType type, string value) =>
                                    {
                                        return (from  item in whitelist
                                                where item.Type == type && item.Value == value
                                                select item).FirstOrDefault();
                                    });

mas estou recebendo esse erro na linha "... ReturnsAsync ((tipo WhitelistType ...):

Não é possível converter a expressão lambda para o tipo 'Model.WhitelistItem' porque não é um tipo de delegado

WhitelistType é um Enum assim:

public enum WhitelistType
    {
        UserName,
        PostalCode
    }

Pesquisei por horas e não encontrei nenhuma resposta para o meu problema.

Alguma pista?

questionAnswers(2)

yourAnswerToTheQuestion