// AmbiguousGhost.dfy

function F(x: int): ()
{
  ()
}

function a<T, U>(x: int): int
{
  x
}

method M<b, c>(d: int)
{
  var u;
  u := F(a<(b, ghost b), c>(d));
  u := F(a<(b, (ghost b, ghost b)), c>(d));
  u := F(a<(b, ((ghost b, b), ghost b)), c>(d));
}

Dafny program verifier finished with 0 verified, 0 errors
