hunk.code_window:   -- 'Int' we should be able to join this with a remote node, which expects an
     -- input argument of type '[Int]'
     -- http://spec.graphql.org/June2018/#sec-Type-System.List
     case (isListType' actualType,isListType' expectedType) of
       (True, True) -> assertType (unwrapTy actualType) (unwrapTy expectedType)
       (True, False) -> Failure (pure $ ExpectedTypeButGot expectedType actualType)
       _ ->
         (when
          (getBaseTy actualType /= getBaseTy expectedType)
          (Failure (pure $ ExpectedTypeButGot expectedType actualType)))
     pure ()
   assertListType :: G.GType -> Validation (NonEmpty ValidationError) ()
   assertListType actualType =
     (when (not $ isListType' actualType)
  
hunk.labels: keep keep keep replace replace replace replace replace replace replace replace keep keep keep keep
hunk.after_edit:   let (actualBaseType, actualNestingLevel) = getBaseTyWithNestedLevelsCount actualType
         (expectedBaseType, expectedNestingLevel) = getBaseTyWithNestedLevelsCount expectedType
     in
     if actualBaseType == expectedBaseType
     then if (actualNestingLevel == expectedNestingLevel || actualNestingLevel == 0)
     -- The check of 'actualNestedCount == 0' is the case of coercing a singleton type
     -- into an array type
          then pure ()
          else Failure (pure $ ExpectedTypeButGot expectedType actualType)
          --  we cannot coerce two types with different nesting levels,
          -- for example, we cannot coerce [Int] to [[Int]]
     else Failure (pure $ ExpectedTypeButGot expectedType actualType)
  
hunk.file_path: server/src-lib/Hasura/RQL/DDL/RemoteRelationship/Validate.hs
hunk.type: replace
file: - args:
      permission:
        allow_upsert: true
        check:
          user_id:
            _eq: X-Hasura-User-Id
        columns:
        - id
        - title
        - user_id
        set: {}
      role: user
      table:
        name: article
        schema: public
    type: create_insert_permission
  