impl traits for scalar types