> Date(2019, 12, 25)
Date(2019, 12, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 0, 0, 0, 0)
###
> Date(2019, 13, 25)
Date(2019, 13, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 13:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 12, -25)
Date(2019, 12, -25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, -25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(-1, 12, 25)
Date(-1, 12, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(-1:i8, 12:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(0, 12, 25)
Date(0, 12, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(0:i8, 12:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 0, 25)
Date(2019, 0, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 0:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 2, 28)
Date(2019, 2, 28) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 2:i8, 28:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 2, 28, 0, 0, 0, 0)
###
> Date(2019, 12, 0)
Date(2019, 12, 0) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 0:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 2, 29) // Not a leap year.
Date(2019, 2, 29) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 2:i8, 29:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2020, 2, 29) // Leap year.
Date(2020, 2, 29) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2020:i8, 2:i8, 29:i8):d))
Func sig: () to d
Type: Date, Value: DT(2020, 2, 29, 0, 0, 0, 0)
###
> Date(2019, 12, 25, 5)
Date(2019, 12, 25, 5) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 5, 0, 0, 0)
###
> Date(2019, 12, 25, 25)
Date(2019, 12, 25, 25) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 25:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 12, 25, 5, 30)
Date(2019, 12, 25, 5, 30) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 5, 30, 0, 0)
###
> Date(2019, 12, 25, 5, 300)
Date(2019, 12, 25, 5, 300) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 300:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 12, 25, 5, 30, 15)
Date(2019, 12, 25, 5, 30, 15) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 15:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 5, 30, 15, 0)
###
> Date(2019, 12, 25, 5, 30, 1500)
Date(2019, 12, 25, 5, 30, 1500) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 1500:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 12, 25, 5, 30, 15, 900)
Date(2019, 12, 25, 5, 30, 15, 900) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 15:i8, 900:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 5, 30, 15, 900)
###
> Date(2019, 12, 25, 5, 30, 15, 9000)
Date(2019, 12, 25, 5, 30, 15, 9000) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 15:i8, 9000:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> Date(2019, 12, 25, 5, 30, 15, 900,  9_999)
Date(2019, 12, 25, 5, 30, 15, 900, 9999) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 15:i8, 900:i8, 9999:i8):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 5, 30, 15, 900, 9999)
###
> Date(2019, 12, 25, 5, 30, 15, 900, 10_000)
Date(2019, 12, 25, 5, 30, 15, 900, 10000) : d
BndKind:Call, Type:d, Bnd:(Call(∂.Date(2019:i8, 12:i8, 25:i8, 5:i8, 30:i8, 15:i8, 900:i8, 10000:i8):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate()
CastDate() : d
BndKind:Default, Type:d, Bnd:(dflt<d>)
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate(Null(""))
CastDate(Null("")) : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(<null>)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate(null)
CastDate(null) : d?
BndKind:Null, Type:d?, Bnd:(null:d?)
Func sig: () to d?
Type: <null>, Value: <null>
###
> CastDate({})
CastDate({  }) : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(Error(ErrBadType_Src_Dst)):d))
*** Error: (9,10) Node: {  }, Message: Invalid operand type: cannot convert type '{}' to 'i8'
###
> CastDate("")
CastDate("") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str()):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("1-2-49")
CastDate("1-2-49") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-49)):d))
Func sig: () to d
Type: Date, Value: DT(2049, 1, 2, 0, 0, 0, 0)
###
> CastDate("1-2-50")
CastDate("1-2-50") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-50)):d))
Func sig: () to d
Type: Date, Value: DT(1950, 1, 2, 0, 0, 0, 0)
###
> CastDate("1-2-30")
CastDate("1-2-30") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-30)):d))
Func sig: () to d
Type: Date, Value: DT(2030, 1, 2, 0, 0, 0, 0)
###
> CastDate("1-2-0030")
CastDate("1-2-0030") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-0030)):d))
Func sig: () to d
Type: Date, Value: DT(30, 1, 2, 0, 0, 0, 0)
###
> CastDate("1-2-1930")
CastDate("1-2-1930") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-1930)):d))
Func sig: () to d
Type: Date, Value: DT(1930, 1, 2, 0, 0, 0, 0)
###
> CastDate("1-2-2030")
CastDate("1-2-2030") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(1-2-2030)):d))
Func sig: () to d
Type: Date, Value: DT(2030, 1, 2, 0, 0, 0, 0)
###
> CastDate("25 December 2019")
CastDate("25 December 2019") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(25 December 2019)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 0, 0, 0, 0)
###
> CastDate("December 25, 2019")
CastDate("December 25, 2019") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(December 25, 2019)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 0, 0, 0, 0)
###
> CastDate("25-12-2019 03:04")
CastDate("25-12-2019 03:04") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(25-12-2019 03:04)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("12-25-2019 03:04:12.5678")
CastDate("12-25-2019 03:04:12.5678") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 03:04:12.5678)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 3, 4, 12, 567, 8000)
###
> CastDate("12-25-2019 15:04:12.5678")
CastDate("12-25-2019 15:04:12.5678") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 15:04:12.5678)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 15, 4, 12, 567, 8000)
###
> CastDate("12-25-2019 03:04:12.5678 am")
CastDate("12-25-2019 03:04:12.5678 am") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 03:04:12.5678 am)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 3, 4, 12, 567, 8000)
###
> CastDate("12-25-2019 03:04:12.5678 pm")
CastDate("12-25-2019 03:04:12.5678 pm") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 03:04:12.5678 pm)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 15, 4, 12, 567, 8000)
###
> CastDate("12-25-2019 03:04:12.5678 pst")
CastDate("12-25-2019 03:04:12.5678 pst") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 03:04:12.5678 pst)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("120-250-2019 03:04:12.5678")
CastDate("120-250-2019 03:04:12.5678") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(120-250-2019 03:04:12.5678)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("12-25-2019 303:04:12.5678")
CastDate("12-25-2019 303:04:12.5678") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(12-25-2019 303:04:12.5678)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("2019-12-25T03:04:12.12+01:00")
CastDate("2019-12-25T03:04:12.12+01:00") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(2019-12-25T03:04:12.12+01:00)):d))
Func sig: () to d
Type: Date, Value: DT(2019, 12, 25, 2, 4, 12, 120)
###
> CastDate("2019-12-25T03:04:12.12+01.00")
CastDate("2019-12-25T03:04:12.12+01.00") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(2019-12-25T03:04:12.12+01.00)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("This is obviously not a date")
CastDate("This is obviously not a date") : d
BndKind:Call, Type:d, Bnd:(Call(∂.CastDate(str(This is obviously not a date)):d))
Func sig: () to d
Type: Date, Value: DT(1, 1, 1, 0, 0, 0, 0)
###
> CastDate("This is obviously not a date") = CastDate()
CastDate("This is obviously not a date") @= CastDate() : b
BndKind:Compare, Type:b, Bnd:(Cmp(Call(∂.CastDate(str(This is obviously not a date)):d) @= dflt<d>))
Func sig: () to b
Type: bool, Value: true 
###
> ToDate(Null(""))
ToDate(Null("")) : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(<null>)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate(null)
ToDate(null) : d?
BndKind:Null, Type:d?, Bnd:(null:d?)
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("")
ToDate("") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str()):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("1-2-49")
ToDate("1-2-49") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-49)):d?))
Func sig: () to d?
Type: Date, Value: DT(2049, 1, 2, 0, 0, 0, 0)
###
> ToDate("1-2-50")
ToDate("1-2-50") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-50)):d?))
Func sig: () to d?
Type: Date, Value: DT(1950, 1, 2, 0, 0, 0, 0)
###
> ToDate("1-2-30")
ToDate("1-2-30") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-30)):d?))
Func sig: () to d?
Type: Date, Value: DT(2030, 1, 2, 0, 0, 0, 0)
###
> ToDate("1-2-0030")
ToDate("1-2-0030") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-0030)):d?))
Func sig: () to d?
Type: Date, Value: DT(30, 1, 2, 0, 0, 0, 0)
###
> ToDate("1-2-1930")
ToDate("1-2-1930") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-1930)):d?))
Func sig: () to d?
Type: Date, Value: DT(1930, 1, 2, 0, 0, 0, 0)
###
> ToDate("1-2-2030")
ToDate("1-2-2030") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(1-2-2030)):d?))
Func sig: () to d?
Type: Date, Value: DT(2030, 1, 2, 0, 0, 0, 0)
###
> ToDate("25 December 2019")
ToDate("25 December 2019") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(25 December 2019)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 0, 0, 0, 0)
###
> ToDate("December 25, 2019")
ToDate("December 25, 2019") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(December 25, 2019)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 0, 0, 0, 0)
###
> ToDate("25-12-2019 03:04")
ToDate("25-12-2019 03:04") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(25-12-2019 03:04)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("12-25-2019 03:04:12.5678")
ToDate("12-25-2019 03:04:12.5678") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 03:04:12.5678)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 3, 4, 12, 567, 8000)
###
> ToDate("12-25-2019 15:04:12.5678")
ToDate("12-25-2019 15:04:12.5678") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 15:04:12.5678)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 15, 4, 12, 567, 8000)
###
> ToDate("12-25-2019 03:04:12.5678 am")
ToDate("12-25-2019 03:04:12.5678 am") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 03:04:12.5678 am)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 3, 4, 12, 567, 8000)
###
> ToDate("12-25-2019 03:04:12.5678 pm")
ToDate("12-25-2019 03:04:12.5678 pm") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 03:04:12.5678 pm)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 15, 4, 12, 567, 8000)
###
> ToDate("12-25-2019 03:04:12.5678 pst")
ToDate("12-25-2019 03:04:12.5678 pst") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 03:04:12.5678 pst)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("120-250-2019 03:04:12.5678")
ToDate("120-250-2019 03:04:12.5678") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(120-250-2019 03:04:12.5678)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("12-25-2019 303:04:12.5678")
ToDate("12-25-2019 303:04:12.5678") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(12-25-2019 303:04:12.5678)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("2019-12-25T03:04:12.12+01:00")
ToDate("2019-12-25T03:04:12.12+01:00") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(2019-12-25T03:04:12.12+01:00)):d?))
Func sig: () to d?
Type: Date, Value: DT(2019, 12, 25, 2, 4, 12, 120)
###
> ToDate("2019-12-25T03:04:12.12+01.00")
ToDate("2019-12-25T03:04:12.12+01.00") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(2019-12-25T03:04:12.12+01.00)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
> ToDate("This is obviously not a date")
ToDate("This is obviously not a date") : d?
BndKind:Call, Type:d?, Bnd:(Call(∂.ToDate(str(This is obviously not a date)):d?))
Func sig: () to d?
Type: <null>, Value: <null>
###
