private static IEnumerable<Type> GetTypes(Expression expression) { return expression is TypeCandidateExpression ? GetTypes((TypeCandidateExpression) expression) : EnumerableEx.Return(expression.Type); }