Double chopped to Float in lists / hash tables?

This is strange but seems that putting Double in array or dictionary circumcises it to Float, is that for real?

BrightScript Debugger> d# = 1.23# : ? d#, type(d#)
 1.23  Double
BrightScript Debugger> a = [d#][0] : ? a, type(a)
 1.23  roFloat
BrightScript Debugger> h = {h: d#}.h : ? h, type(h)
 1.23  roFloat