parâmetro @Dynamic faz com que o compilador pense que o retorno do método é dinâmico

Se eu tiver um parâmetro dinâmico, o compilador parece abandonar o tipo de retorno e achar que é dinâmic

Por exemplo

public MethodResult IsValid(object userLogin)
{     
  return new MethodResult();
}

Você pensaria que:

var isValidResult = IsValid(someObject());

Deve ler como

dynamic -> MethodResult 

Mas pensa que é:

dynamic -> dynamic

A adição de um parâmetro dinâmico à assinatura impede completamente o compilador de saber qual deve ser o retorno, apesar de ter sido fortemente digitad