generic type Month is (<>); type Day is range <>; type Year is range <>; type Date is private; package Date_Conversion_Template is function Convert_To_Date (Using_Month : in Month; Using_Day : in Day; Using_Year : in Year) return Date; procedure Split (The_Date : in Date; Into_Month : out Month; Into_Day : out Day; Into_Year : out Year); Date_Error : exception; end Date_Conversion_Template;