-- This module needs to be separated from Data.TypeLevel.Num.Aliases due to
-- a limitation in Template Haskell implementation: 
-- "You can only run a function at compile time if it is imported from another 
-- module." 

genAliases :: Int -- how many binary aliases 
           -> Int -- how many octal aliases
           -> Int -- how many dec aliases
           -> Int -- how many hex aliases
           -> Q [Dec]
genAliases nb no nd nh = genAliases' nb no nd nh (maximum [nb,no,nd,nh])
genAliases :: Int -- how many binary aliases 
           -> Int -- how many octal aliases
           -> Int -- how many dec aliases
           -> Int -- how many hex aliases
           -> Q [Dec]
genAliases nb no nd nh = genAliases' nb no nd nh (maximum [nb,no,nd,nh])
genAliases nb no nd nh = genAliases' nb no nd nh (maximum [nb,no,nd,nh])