:: {g:g, o:o, s:s, b:b, qb:b?, d:d, qd:d?, n:n, qn:n?, r8:r8, qr8:r8?, r4:r4, qr4:r4?, i:i, qi:i?, i8:i8, qi8:i8?, i4:i4, qi4:i4?, i2:i2, qi2:i2?, i1:i1, qi1:i1?, u8:u8, qu8:u8?, u4:u4, qu4:u4?, u2:u2, qu2:u2?, u1:u1, qu1:u1?}

IsNull(null)
IsNull(-null)
IsNull(not null)
IsNull(null + 3)
IsNull(null + null)
IsNull(null + Null("")) // Coerce to string.
IsNull(null & null)
IsNull(null ++ null)
IsNull("")
IsNull(3)
IsNull(3.5)
IsNull(true)
IsNull([])
IsNull([3])
IsNull({})
IsNull({A:2})

IsNull(g)
IsNull(o)
IsNull(s)
IsNull(b)
IsNull(d)
IsNull(n)
IsNull(r8)
IsNull(r4)
IsNull(i)
IsNull(i8)
IsNull(i4)
IsNull(i2)
IsNull(i1)
IsNull(u8)
IsNull(u4)
IsNull(u2)
IsNull(u1)
IsNull(qb)
IsNull(qd)
IsNull(qn)
IsNull(qr8)
IsNull(qr4)
IsNull(qi)
IsNull(qi8)
IsNull(qi4)
IsNull(qi2)
IsNull(qi1)
IsNull(qu8)
IsNull(qu4)
IsNull(qu2)
IsNull(qu1)

IsEmpty(null)
IsEmpty(-null)
IsEmpty(not null)
IsEmpty(null + 3)
IsEmpty(null & null)
IsEmpty(null + Null("")) // Coerce to string.
IsEmpty("")
IsEmpty(3)
IsEmpty(3.5)
IsEmpty(true)
IsEmpty([])
IsEmpty(Range(10 * 0))
IsEmpty([3])
IsEmpty({})
IsEmpty({A:2})

IsEmpty(g)
IsEmpty(o)
IsEmpty(s)
IsEmpty(b)
IsEmpty(d)
IsEmpty(n)
IsEmpty(r8)
IsEmpty(r4)
IsEmpty(i)
IsEmpty(i8)
IsEmpty(i4)
IsEmpty(i2)
IsEmpty(i1)
IsEmpty(u8)
IsEmpty(u4)
IsEmpty(u2)
IsEmpty(u1)
IsEmpty(qb)
IsEmpty(qd)
IsEmpty(qn)
IsEmpty(qr8)
IsEmpty(qr4)
IsEmpty(qi)
IsEmpty(qi8)
IsEmpty(qi4)
IsEmpty(qi2)
IsEmpty(qi1)
IsEmpty(qu8)
IsEmpty(qu4)
IsEmpty(qu2)
IsEmpty(qu1)

// *** Sequences
:: {g:g*, v:v*, o:o*, s:s*, b:b*, qb:b?*, d:d*, qd:d?*, n:n*, qn:n?*, r8:r8*, qr8:r8?*, r4:r4*, qr4:r4?*, i:i*, qi:i?*, i8:i8*, qi8:i8?*, i4:i4*, qi4:i4?*, i2:i2*, qi2:i2?*, i1:i1*, qi1:i1?*, u8:u8*, qu8:u8?*, u4:u4*, qu4:u4?*, u2:u2*, qu2:u2?*, u1:u1*, qu1:u1?*}

IsNull(g)
IsNull(v)
IsNull(o)
IsNull(s)
IsNull(b)
IsNull(d)
IsNull(n)
IsNull(r8)
IsNull(r4)
IsNull(i)
IsNull(i8)
IsNull(i4)
IsNull(i2)
IsNull(i1)
IsNull(u8)
IsNull(u4)
IsNull(u2)
IsNull(u1)
IsNull(qb)
IsNull(qd)
IsNull(qn)
IsNull(qr8)
IsNull(qr4)
IsNull(qi)
IsNull(qi8)
IsNull(qi4)
IsNull(qi2)
IsNull(qi1)
IsNull(qu8)
IsNull(qu4)
IsNull(qu2)
IsNull(qu1)

IsEmpty(g)
IsEmpty(o)
IsEmpty(s)
IsEmpty(b)
IsEmpty(d)
IsEmpty(n)
IsEmpty(r8)
IsEmpty(r4)
IsEmpty(i)
IsEmpty(i8)
IsEmpty(i4)
IsEmpty(i2)
IsEmpty(i1)
IsEmpty(u8)
IsEmpty(u4)
IsEmpty(u2)
IsEmpty(u1)
IsEmpty(qb)
IsEmpty(qd)
IsEmpty(qn)
IsEmpty(qr8)
IsEmpty(qr4)
IsEmpty(qi)
IsEmpty(qi8)
IsEmpty(qi4)
IsEmpty(qi2)
IsEmpty(qi1)
IsEmpty(qu8)
IsEmpty(qu4)
IsEmpty(qu2)
IsEmpty(qu1)

v->ForEach(it->IsNull())

// *** General function binding errors

Sum(i4, [>] it) // Unsupported directive
IsEmpty([~>] i4) // Unsupported directive
Abs(A: i4) // Unsupported name

// *** Dignostic functions

i4->GetType()
i4->GetBindInfo()
(i4 + i8)->GetBindInfo()

// These generate invalid scope numbers in the GetBindInfo result.
ForEach(a: i4, b: i8, (a + b)->GetBindInfo())
i4->{N:it}->ForEach(N->GetBindInfo())
