#12 improve data types