anchor.diff:  #endif
   let ``As 08 - syntactical precedence matrix testing right - partial patterns`` () =
       let _, checkResults = getParseAndCheckResultsPreview """
  +let eq<'T> (x:'T option) = () // FS-1093-safe type assert function
   let (|Unit1|_|) x = if System.Random().NextDouble() < 0.5 then Some Unit1 else None
   let (|Unit2|_|) _ = (|Unit1|_|)
   let (|Id1|_|) x = if System.Random().NextDouble() < 0.5 then Some x else None
   let (|Id2|_|) _ = (|Id1|_|)
   let a = 1
  -let b as c::d as e = 2::3
  +let b as c::d as e = 2::[3]
   let f as Unit1 = 4
   let g as Unit2 a h = 5
  -let i as Id1 j = 4
  -let k as Id2 a l = 5
  -box 6 |> function
  +let i as Id1 j = 6
  +let k as Id2 a l = 7
  +box 8 |> function
   | m as :? int ->
  -box {| aaa = 7 |} |> function
  +box {| aaa = 9 |} |> function
   | n as :? {| aaa : int |} ->
  -let o as [p] = [8]
  -let q as [|r|] = [|9|]
  -let s as 10 = 10
  +let o as [p] = [10]
  +let q as [|r|] = [|11|]
  +let s as 12 = 12
   let t as false = false
   let u as true = true
   let v as null = null
   let w as (null) = null
  -let x as y : int = 15 + a + b + c + f + g + i + j + k + l + m + p + r + s
  -let _ : int list = d
  -let _ : int list = e
  -let _ as () = h
  -let _ : {| aaa : int |} = n
  -let _ : int list = o
  -let _ : int[] = q
  -let _ : bool = t
  -let _ : bool = u
  -let _ : obj = v
  -let _ : obj = w
  +let x as y : int = 13 + a + b + c + f + g + i + j + k + l + m + p + r + s
  +Some d |> eq<int list>
  +Some e |> eq<int list>
  +Some h |> eq<unit>
  +Some n |> eq<{| aaa : int |}>
  +Some o |> eq<int list>
  +Some q |> eq<int[]>
  +Some t |> eq<bool>
  +Some u |> eq<bool>
  +Some v |> eq<obj>
  +Some w |> eq<obj>
   ()
   """
       assertHasSymbolUsages (List.map string ['a'..'y']) checkResults
       dumpErrors checkResults |> shouldEqual [
  -        "(7,24--7,25): This expression was expected to have type 'int list' but here has type 'int'"
  -        "(7,4--7,18): Incomplete pattern matches on this expression. For example, the value '[]' may indicate a case not covered by the pattern(s)."
  -        "(8,4--8,14): Incomplete pattern matches on this expression."
  -        "(9,4--9,18): Incomplete pattern matches on this expression."
  -        "(10,4--10,14): Incomplete pattern matches on this expression."
  -        "(11,4--11,16): Incomplete pattern matches on this expression."
  -        "(22,4--22,15): Incomplete pattern matches on this expression. For example, the value '( some-non-null-value )' may indicate a case not covered by the pattern(s)."
  -        "(21,4--21,13): Incomplete pattern matches on this expression. For example, the value '( some-non-null-value )' may indicate a case not covered by the pattern(s)."
  -        "(20,4--20,13): Incomplete pattern matches on this expression. For example, the value 'false' may indicate a case not covered by the pattern(s)."
  -        "(19,4--19,14): Incomplete pattern matches on this expression. For example, the value 'true' may indicate a case not covered by the pattern(s)."
  -        "(18,4--18,11): Incomplete pattern matches on this expression. For example, the value '0' may indicate a case not covered by the pattern(s)."
  -        "(17,4--17,14): Incomplete pattern matches on this expression. For example, the value '[|_; _|]' may indicate a case not covered by the pattern(s)."
  -        "(16,4--16,12): Incomplete pattern matches on this expression. For example, the value '[_;_]' may indicate a case not covered by the pattern(s)."
  -        "(14,21--14,29): Incomplete pattern matches on this expression. For example, the value '( some-other-subtype )' may indicate a case not covered by the pattern(s)."
  -        "(12,9--12,17): Incomplete pattern matches on this expression. For example, the value '( some-other-subtype )' may indicate a case not covered by the pattern(s)."
  +        "(8,4--8,18): Incomplete pattern matches on this expression. For example, the value '[]' may indicate a case not covered by the pattern(s)."
  +        "(9,4--9,14): Incomplete pattern matches on this expression."
  +        "(10,4--10,18): Incomplete pattern matches on this expression."
  +        "(11,4--11,14): Incomplete pattern matches on this expression."
  +        "(12,4--12,16): Incomplete pattern matches on this expression."
  +        "(23,4--23,15): Incomplete pattern matches on this expression. For example, the value '( some-non-null-value )' may indicate a case not covered by the pattern(s)."
  +        "(22,4--22,13): Incomplete pattern matches on this expression. For example, the value '( some-non-null-value )' may indicate a case not covered by the pattern(s)."
  +        "(21,4--21,13): Incomplete pattern matches on this expression. For example, the value 'false' may indicate a case not covered by the pattern(s)."
  +        "(20,4--20,14): Incomplete pattern matches on this expression. For example, the value 'true' may indicate a case not covered by the pattern(s)."
  +        "(19,4--19,11): Incomplete pattern matches on this expression. For example, the value '0' may indicate a case not covered by the pattern(s)."
  +        "(18,4--18,14): Incomplete pattern matches on this expression. For example, the value '[|_; _|]' may indicate a case not covered by the pattern(s)."
  +        "(17,4--17,12): Incomplete pattern matches on this expression. For example, the value '[_;_]' may indicate a case not covered by the pattern(s)."
  +        "(15,21--15,29): Incomplete pattern matches on this expression. For example, the value '( some-other-subtype )' may indicate a case not covered by the pattern(s)."
  +        "(13,9--13,17): Incomplete pattern matches on this expression. For example, the value '( some-other-subtype )' may indicate a case not covered by the pattern(s)."
       ]
   
   [<Test>]
  
positive.code:     ]
  
  [<Test>]
  #if !NETCOREAPP
  [<Ignore("These tests weren't running on desktop and this test fails")>]
  #endif
  let ``As 13 - syntactical precedence matrix testing - valid syntactic patterns that cause type errors later`` () =
      let _, checkResults = getParseAndCheckResultsPreview """
  type I() = inherit System.Attribute()
  type M() = inherit I()
  
negative.code: #if !NETCOREAPP
  [<Ignore("These tests weren't running on desktop and this test fails")>]
  #endif
  let ``As 20 - limit the right of 'as' patterns to only variable patterns in F# 5`` () =
      let _, checkResults = getParseAndCheckResults """
  let f : obj -> _ =
      function
  