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

> Date(i4)
Date(i4) : d
*** Error: (4,5) Node: Date(i4), Message: Too few arguments for Date, expected 2 additional
Binder : Date(Num<i8>(i4), Unit<i8>(<missing>), Unit<i8>(<missing>))
Reducer: Date(Num<i8>(i4), 0, 0)
###
> Date(i4, i4)
Date(i4, i4) : d
*** Error: (4,5) Node: Date(i4, i4), Message: Too few arguments for Date, expected 1 additional
Binder : Date(Num<i8>(i4), Num<i8>(i4), Unit<i8>(<missing>))
Reducer: Date(Num<i8>(i4), Num<i8>(i4), 0)
###
> Date(i4, i4, i4)
Date(i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i8, i8, i8)
Date(i8, i8, i8) : d
Binder : Date(i8, i8, i8)
###
> Date(i4, i4, s)
Date(i4, i4, s) : d
*** Error: (13,14) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Date(Num<i8>(i4), Num<i8>(i4), Error(ErrBadType_Src_Dst))
###
> Date(i4, u8, i8)
Date(i4, u8, i8) : d
*** Warning: (9,11) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Date(Num<i8>(i4), Num<i8>(u8), i8)
###
> Date(i4, i4, i4, i4)
Date(i4, i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, i4, i4)
Date(i4, i4, i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, i4, i4, i4)
Date(i4, i4, i4, i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, i4, i4, i4, i4)
Date(i4, i4, i4, i4, i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, i4, i4, i4, i4, i4)
Date(i4, i4, i4, i4, i4, i4, i4, i4) : d
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, i4, i4, i4, i4, i4, i4)
Date(i4, i4, i4, i4, i4, i4, i4, i4, i4) : d
*** Error: (37,39) Node: i4, Message: Too many arguments for Date, expected 1 fewer
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(s, i4, i4, i4, i4, i4, i4)
Date(s, i4, i4, i4, i4, i4, i4) : d
*** Error: (5,6) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Date(Error(ErrBadType_Src_Dst), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, s, i4, i4, i4)
Date(i4, i4, i4, s, i4, i4, i4) : d
*** Error: (17,18) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Error(ErrBadType_Src_Dst), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i4, i4, i4, u8, i4, i4, i4)
Date(i4, i4, i4, u8, i4, i4, i4) : d
*** Warning: (17,19) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Date(Num<i8>(i4), Num<i8>(i4), Num<i8>(i4), Num<i8>(u8), Num<i8>(i4), Num<i8>(i4), Num<i8>(i4))
###
> Date(i8, i8, i8, i8, i8, i8, i8, i8)
Date(i8, i8, i8, i8, i8, i8, i8, i8) : d
Binder : Date(i8, i8, i8, i8, i8, i8, i8, i8)
###
> Date(i8, i8, i8, u8, i8, i8, i8, i8)
Date(i8, i8, i8, u8, i8, i8, i8, i8) : d
*** Warning: (17,19) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Date(i8, i8, i8, Num<i8>(u8), i8, i8, i8, i8)
###
> CastDate()
CastDate() : d
Binder : CastDate*()
Reducer: dflt<d>
###
> CastTime()
CastTime() : t
Binder : CastTime*()
Reducer: dflt<t>
###
> CastDate("")
CastDate("") : d
Binder : CastDate("")
###
> CastDate("1-1-1")
CastDate("1-1-1") : d
Binder : CastDate("1-1-1")
###
> CastDate(Null(""))
CastDate(Null("")) : d
Binder : CastDate(DefOpt*(""))
Reducer: CastDate(str(<null>))
###
> CastDate(null)
CastDate(null) : d?
Binder : Guard(?1: null, CastDate(Unit<i8>(?1)))
Reducer: null
###
> CastDate(0)
CastDate(0) : d
Binder : CastDate(0)
###
> CastDate(g)
CastDate(g) : d
*** Error: (9,10) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : CastDate(Error(ErrBadType_Src_Dst))
###
> CastDate(o)
CastDate(o) : d?
Binder : Guard(?1: o, CastDate(Unit<i8>(?1)))
Reducer: null
###
> CastDate(s)
CastDate(s) : d
Binder : CastDate(s)
###
> CastDate(t)
CastDate(t) : d
*** Error: (9,10) Node: t, Message: Invalid operand type: cannot convert type 't' to 'i8'
Binder : CastDate(Error(ErrBadType_Src_Dst))
###
> CastDate(b)
CastDate(b) : d
Binder : CastDate(b)
###
> CastDate(d)
CastDate(d) : d
*** Error: (9,10) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : CastDate(Error(ErrBadType_Src_Dst))
###
> CastDate(n)
CastDate(n) : d
Binder : CastDate(n)
###
> CastDate(r4)
CastDate(r4) : d
Binder : CastDate(r4)
###
> CastDate(i)
CastDate(i) : d
Binder : CastDate(i)
###
> CastDate(i8)
CastDate(i8) : d
Binder : CastDate(i8)
###
> CastDate(i4)
CastDate(i4) : d
Binder : CastDate(i4)
###
> CastDate(u4)
CastDate(u4) : d
Binder : CastDate(u4)
###
> CastDate(qi4)
CastDate(qi4) : d?
Binder : Guard(?1: qi4, CastDate(?1))
###
> ToDate("")
ToDate("") : d?
Binder : ToDate("")
###
> ToDate("1-1-1")
ToDate("1-1-1") : d?
Binder : ToDate("1-1-1")
###
> ToDate(Null(""))
ToDate(Null("")) : d?
Binder : ToDate(DefOpt*(""))
Reducer: ToDate(str(<null>))
###
> ToDate(0)
ToDate(0) : d?
Binder : ToDate(0)
###
> ToDate(g)
ToDate(g) : d?
*** Error: (7,8) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : ToDate(Error(ErrBadType_Src_Dst))
###
> ToDate(o)
ToDate(o) : d?
Binder : Guard(?1: o, ToDate(Unit<i8>(?1)))
Reducer: null
###
> ToDate(s)
ToDate(s) : d?
Binder : ToDate(s)
###
> ToDate(t)
ToDate(t) : d?
*** Error: (7,8) Node: t, Message: Invalid operand type: cannot convert type 't' to 'i8'
Binder : ToDate(Error(ErrBadType_Src_Dst))
###
> ToDate(b)
ToDate(b) : d?
Binder : ToDate(b)
###
> ToDate(d)
ToDate(d) : d?
*** Error: (7,8) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : ToDate(Error(ErrBadType_Src_Dst))
###
> ToDate(n)
ToDate(n) : d?
Binder : ToDate(n)
###
> ToDate(r4)
ToDate(r4) : d?
Binder : ToDate(r4)
###
> ToDate(i)
ToDate(i) : d?
Binder : ToDate(i)
###
> ToDate(i8)
ToDate(i8) : d?
Binder : ToDate(i8)
###
> ToDate(i4)
ToDate(i4) : d?
Binder : ToDate(i4)
###
> ToDate(u4)
ToDate(u4) : d?
Binder : ToDate(u4)
###
> ToDate(qi4)
ToDate(qi4) : d?
Binder : Guard(?1: qi4, ToDate(?1))
###
> d.Year
d.Year : i4
Binder : Date.Year(d)
###
> d.Month
d.Month : i4
Binder : Date.Month(d)
###
> d.Day
d.Day : i4
Binder : Date.Day(d)
###
> d.Hour
d.Hour : i4
Binder : Date.Hour(d)
###
> d.Hr
d.Hr : i4
Binder : Date.Hour(d)
###
> d.Minute
d.Minute : i4
Binder : Date.Minute(d)
###
> d.Min
d.Min : i4
Binder : Date.Minute(d)
###
> d.Second
d.Second : i4
Binder : Date.Second(d)
###
> d.Sec
d.Sec : i4
Binder : Date.Second(d)
###
> d.Millisecond
d.Millisecond : i4
Binder : Date.Millisecond(d)
###
> d.Ms
d.Ms : i4
Binder : Date.Millisecond(d)
###
> d.Tick
d.Tick : i4
Binder : Date.Tick(d)
###
> d.DayOfYear
d.DayOfYear : i4
Binder : Date.DayOfYear(d)
###
> d.DayOfWeek
d.DayOfWeek : i4
Binder : Date.DayOfWeek(d)
###
> d.Time
d.Time : t
Binder : Date.Time(d)
###
> d.TimeOfDay
d.TimeOfDay : t
Binder : Date.Time(d)
###
> d.Date
d.Date : d
Binder : Date.Date(d)
###
> d.StartOfDay
d.StartOfDay : d
Binder : Date.Date(d)
###
> d.StartOfYear
d.StartOfYear : d
Binder : Date.StartOfYear(d)
###
> d.StartOfMonth
d.StartOfMonth : d
Binder : Date.StartOfMonth(d)
###
> d.StartOfWeek
d.StartOfWeek : d
Binder : Date.StartOfWeek(d)
###
> d.Huh
d.Huh : v
*** Error: (1,2) Node: d.Huh, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> ds.Year
ds.Year : i4*
Binder : ForEach(*1: ds, Date.Year(*1))
###
> ds.Month
ds.Month : i4*
Binder : ForEach(*1: ds, Date.Month(*1))
###
> ds.Day
ds.Day : i4*
Binder : ForEach(*1: ds, Date.Day(*1))
###
> ds.Hour
ds.Hour : i4*
Binder : ForEach(*1: ds, Date.Hour(*1))
###
> ds.Hr
ds.Hr : i4*
Binder : ForEach(*1: ds, Date.Hour(*1))
###
> ds.Minute
ds.Minute : i4*
Binder : ForEach(*1: ds, Date.Minute(*1))
###
> ds.Min
ds.Min : i4*
Binder : ForEach(*1: ds, Date.Minute(*1))
###
> ds.Second
ds.Second : i4*
Binder : ForEach(*1: ds, Date.Second(*1))
###
> ds.Sec
ds.Sec : i4*
Binder : ForEach(*1: ds, Date.Second(*1))
###
> ds.Millisecond
ds.Millisecond : i4*
Binder : ForEach(*1: ds, Date.Millisecond(*1))
###
> ds.Ms
ds.Ms : i4*
Binder : ForEach(*1: ds, Date.Millisecond(*1))
###
> ds.Tick
ds.Tick : i4*
Binder : ForEach(*1: ds, Date.Tick(*1))
###
> ds.DayOfYear
ds.DayOfYear : i4*
Binder : ForEach(*1: ds, Date.DayOfYear(*1))
###
> ds.DayOfWeek
ds.DayOfWeek : i4*
Binder : ForEach(*1: ds, Date.DayOfWeek(*1))
###
> ds.Time
ds.Time : t*
Binder : ForEach(*1: ds, Date.Time(*1))
###
> ds.TimeOfDay
ds.TimeOfDay : t*
Binder : ForEach(*1: ds, Date.Time(*1))
###
> ds.Date
ds.Date : d*
Binder : ForEach(*1: ds, Date.Date(*1))
###
> ds.StartOfDay
ds.StartOfDay : d*
Binder : ForEach(*1: ds, Date.Date(*1))
###
> ds.StartOfYear
ds.StartOfYear : d*
Binder : ForEach(*1: ds, Date.StartOfYear(*1))
###
> ds.StartOfMonth
ds.StartOfMonth : d*
Binder : ForEach(*1: ds, Date.StartOfMonth(*1))
###
> ds.StartOfWeek
ds.StartOfWeek : d*
Binder : ForEach(*1: ds, Date.StartOfWeek(*1))
###
> ds.Huh
ds.Huh : v*
*** Error: (2,3) Node: ds.Huh, Message: Invalid use of '.'
Binder : ForEach(*1: ds, Error(ErrInvalidDot))
###
> qd.Year
qd.Year : i4?
Binder : Guard(?1: qd, Date.Year(?1))
###
> qd.Month
qd.Month : i4?
Binder : Guard(?1: qd, Date.Month(?1))
###
> qd.Day
qd.Day : i4?
Binder : Guard(?1: qd, Date.Day(?1))
###
> qd.Hour
qd.Hour : i4?
Binder : Guard(?1: qd, Date.Hour(?1))
###
> qd.Hr
qd.Hr : i4?
Binder : Guard(?1: qd, Date.Hour(?1))
###
> qd.Minute
qd.Minute : i4?
Binder : Guard(?1: qd, Date.Minute(?1))
###
> qd.Min
qd.Min : i4?
Binder : Guard(?1: qd, Date.Minute(?1))
###
> qd.Second
qd.Second : i4?
Binder : Guard(?1: qd, Date.Second(?1))
###
> qd.Sec
qd.Sec : i4?
Binder : Guard(?1: qd, Date.Second(?1))
###
> qd.Millisecond
qd.Millisecond : i4?
Binder : Guard(?1: qd, Date.Millisecond(?1))
###
> qd.Ms
qd.Ms : i4?
Binder : Guard(?1: qd, Date.Millisecond(?1))
###
> qd.Tick
qd.Tick : i4?
Binder : Guard(?1: qd, Date.Tick(?1))
###
> qd.DayOfYear
qd.DayOfYear : i4?
Binder : Guard(?1: qd, Date.DayOfYear(?1))
###
> qd.DayOfWeek
qd.DayOfWeek : i4?
Binder : Guard(?1: qd, Date.DayOfWeek(?1))
###
> qd.Time
qd.Time : t?
Binder : Guard(?1: qd, Date.Time(?1))
###
> qd.TimeOfDay
qd.TimeOfDay : t?
Binder : Guard(?1: qd, Date.Time(?1))
###
> qd.Date
qd.Date : d?
Binder : Guard(?1: qd, Date.Date(?1))
###
> qd.StartOfDay
qd.StartOfDay : d?
Binder : Guard(?1: qd, Date.Date(?1))
###
> qd.StartOfYear
qd.StartOfYear : d?
Binder : Guard(?1: qd, Date.StartOfYear(?1))
###
> qd.StartOfMonth
qd.StartOfMonth : d?
Binder : Guard(?1: qd, Date.StartOfMonth(?1))
###
> qd.StartOfWeek
qd.StartOfWeek : d?
Binder : Guard(?1: qd, Date.StartOfWeek(?1))
###
> qd.Huh
qd.Huh : o
*** Error: (2,3) Node: qd.Huh, Message: Invalid use of '.'
Binder : Guard(?1: qd, Error(ErrInvalidDot))
Reducer: null
###
> qds.Year
qds.Year : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Year(?2)))
###
> qds.Month
qds.Month : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Month(?2)))
###
> qds.Day
qds.Day : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Day(?2)))
###
> qds.Hour
qds.Hour : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Hour(?2)))
###
> qds.Hr
qds.Hr : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Hour(?2)))
###
> qds.Minute
qds.Minute : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Minute(?2)))
###
> qds.Min
qds.Min : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Minute(?2)))
###
> qds.Second
qds.Second : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Second(?2)))
###
> qds.Sec
qds.Sec : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Second(?2)))
###
> qds.Millisecond
qds.Millisecond : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Millisecond(?2)))
###
> qds.Ms
qds.Ms : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Millisecond(?2)))
###
> qds.Tick
qds.Tick : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Tick(?2)))
###
> qds.DayOfYear
qds.DayOfYear : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.DayOfYear(?2)))
###
> qds.DayOfWeek
qds.DayOfWeek : i4?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.DayOfWeek(?2)))
###
> qds.Time
qds.Time : t?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Time(?2)))
###
> qds.TimeOfDay
qds.TimeOfDay : t?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Time(?2)))
###
> qds.Date
qds.Date : d?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Date(?2)))
###
> qds.StartOfDay
qds.StartOfDay : d?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.Date(?2)))
###
> qds.StartOfYear
qds.StartOfYear : d?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.StartOfYear(?2)))
###
> qds.StartOfMonth
qds.StartOfMonth : d?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.StartOfMonth(?2)))
###
> qds.StartOfWeek
qds.StartOfWeek : d?*
Binder : ForEach(*1: qds, Guard(?2: *1, Date.StartOfWeek(?2)))
###
> qds.Huh
qds.Huh : o*
*** Error: (3,4) Node: qds.Huh, Message: Invalid use of '.'
Binder : ForEach(*1: qds, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qds, null)
###
> t.Day
t.Day : i4
Binder : Time.Day(t)
###
> t.Hour
t.Hour : i4
Binder : Time.Hour(t)
###
> t.Minute
t.Minute : i4
Binder : Time.Minute(t)
###
> t.Second
t.Second : i4
Binder : Time.Second(t)
###
> t.Millisecond
t.Millisecond : i4
Binder : Time.Millisecond(t)
###
> t.Tick
t.Tick : i4
Binder : Time.Tick(t)
###
> t.Ms
t.Ms : i4
Binder : Time.Millisecond(t)
###
> t.Huh
t.Huh : v
*** Error: (1,2) Node: t.Huh, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> ts.Day
ts.Day : i4*
Binder : ForEach(*1: ts, Time.Day(*1))
###
> ts.Hour
ts.Hour : i4*
Binder : ForEach(*1: ts, Time.Hour(*1))
###
> ts.Minute
ts.Minute : i4*
Binder : ForEach(*1: ts, Time.Minute(*1))
###
> ts.Second
ts.Second : i4*
Binder : ForEach(*1: ts, Time.Second(*1))
###
> ts.Millisecond
ts.Millisecond : i4*
Binder : ForEach(*1: ts, Time.Millisecond(*1))
###
> ts.Tick
ts.Tick : i4*
Binder : ForEach(*1: ts, Time.Tick(*1))
###
> ts.Ms
ts.Ms : i4*
Binder : ForEach(*1: ts, Time.Millisecond(*1))
###
> ts.Huh
ts.Huh : v*
*** Error: (2,3) Node: ts.Huh, Message: Invalid use of '.'
Binder : ForEach(*1: ts, Error(ErrInvalidDot))
###
> qt.Day
qt.Day : i4?
Binder : Guard(?1: qt, Time.Day(?1))
###
> qt.Hour
qt.Hour : i4?
Binder : Guard(?1: qt, Time.Hour(?1))
###
> qt.Minute
qt.Minute : i4?
Binder : Guard(?1: qt, Time.Minute(?1))
###
> qt.Second
qt.Second : i4?
Binder : Guard(?1: qt, Time.Second(?1))
###
> qt.Millisecond
qt.Millisecond : i4?
Binder : Guard(?1: qt, Time.Millisecond(?1))
###
> qt.Tick
qt.Tick : i4?
Binder : Guard(?1: qt, Time.Tick(?1))
###
> qt.Ms
qt.Ms : i4?
Binder : Guard(?1: qt, Time.Millisecond(?1))
###
> qt.Huh
qt.Huh : o
*** Error: (2,3) Node: qt.Huh, Message: Invalid use of '.'
Binder : Guard(?1: qt, Error(ErrInvalidDot))
Reducer: null
###
> qts.Day
qts.Day : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Day(?2)))
###
> qts.Hour
qts.Hour : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Hour(?2)))
###
> qts.Minute
qts.Minute : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Minute(?2)))
###
> qts.Second
qts.Second : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Second(?2)))
###
> qts.Millisecond
qts.Millisecond : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Millisecond(?2)))
###
> qts.Tick
qts.Tick : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Tick(?2)))
###
> qts.Ms
qts.Ms : i4?*
Binder : ForEach(*1: qts, Guard(?2: *1, Time.Millisecond(?2)))
###
> qts.Huh
qts.Huh : o*
*** Error: (3,4) Node: qts.Huh, Message: Invalid use of '.'
Binder : ForEach(*1: qts, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qts, null)
###

**** New globals: {v:v}

> Date.Year(v)
Date.Year(v) : i4
Binder : Date.Year(Unit<d>(v))
Reducer: Date.Year(dflt<d>)
###
> Date.Year(v if true else v)
Date.Year(v if true else v) : i4
Binder : Date.Year(Unit<d>(If(true, v, v)))
Reducer: Date.Year(dflt<d>)
###
