number :: Integer.t
number(Integer.t) :: Integer.t
string :: String.t
string(Integer.t) :: String.t
string(Integer.t, String.t) :: String.t