convension about type argument on _IO macro