@Nullable
  private static Ref<PyType> evaluateType(@NotNull PyDecoratable referenceTarget,
                                          @NotNull TypeEvalContext context,
                                          @NotNull List<PyDecorator> decorators) {
    PyExpression fakeCallExpression = fakeCallExpression(referenceTarget, decorators, context);
    if (fakeCallExpression == null) {
      return null;
    }
    // TODO Don't ignore explicit return type Any on one of the decorators 
    return notNullToRef(context.getType(fakeCallExpression));
  }
@Nullable
  private static Ref<PyType> evaluateType(@NotNull PyDecoratable referenceTarget,
                                          @NotNull TypeEvalContext context,
                                          @NotNull List<PyDecorator> decorators)