calcGnuSize :: GnuSize -> Integer
calcGnuSize size = case size of
  (GnuSize _ n NoUnits) -> n
  (GnuSize _ n (Kilo Bytes)) -> n*(10^(3::Integer))
  (GnuSize _ n (Kilo I024)) -> n*(2^(10::Integer))
  (GnuSize _ n (Mega Bytes)) -> n*(10^(6::Integer))
  (GnuSize _ n (Mega I024)) -> n*(2^(20::Integer))
  (GnuSize _ n (Giga Bytes)) -> n*(10^(9::Integer))
  (GnuSize _ n (Giga I024)) -> n*(2^(30::Integer))
  (GnuSize _ n (Tera Bytes)) -> n*(10^(12::Integer))
  (GnuSize _ n (Tera I024)) -> n*(2^(40::Integer))
  (GnuSize _ n (Peta Bytes)) -> n*(10^(15::Integer))
  (GnuSize _ n (Peta I024)) -> n*(2^(50::Integer))
  (GnuSize _ n (Eta Bytes)) -> n*(10^(18::Integer))
  (GnuSize _ n (Eta I024)) -> n*(2^(60::Integer))
  (GnuSize _ n (Zeta Bytes)) -> n*(10^(21::Integer))
  (GnuSize _ n (Zeta I024)) -> n*(2^(70::Integer))
  (GnuSize _ n (Yota Bytes)) -> n*(10^(24::Integer))
  (GnuSize _ n (Yota I024)) -> n*(2^(80::Integer))
calcGnuSize :: GnuSize -> Integer
calcGnuSize size = case size of
  (GnuSize _ n NoUnits) -> n
  (GnuSize _ n (Kilo Bytes)) -> n*(10^(3::Integer))
  (GnuSize _ n (Kilo I024)) -> n*(2^(10::Integer))
  (GnuSize _ n (Mega Bytes)) -> n*(10^(6::Integer))
  (GnuSize _ n (Mega I024)) -> n*(2^(20::Integer))
  (GnuSize _ n (Giga Bytes)) -> n*(10^(9::Integer))
  (GnuSize _ n (Giga I024)) -> n*(2^(30::Integer))
  (GnuSize _ n (Tera Bytes)) -> n*(10^(12::Integer))
  (GnuSize _ n (Tera I024)) -> n*(2^(40::Integer))
  (GnuSize _ n (Peta Bytes)) -> n*(10^(15::Integer))
  (GnuSize _ n (Peta I024)) -> n*(2^(50::Integer))
  (GnuSize _ n (Eta Bytes)) -> n*(10^(18::Integer))
  (GnuSize _ n (Eta I024)) -> n*(2^(60::Integer))
  (GnuSize _ n (Zeta Bytes)) -> n*(10^(21::Integer))
  (GnuSize _ n (Zeta I024)) -> n*(2^(70::Integer))
  (GnuSize _ n (Yota Bytes)) -> n*(10^(24::Integer))
  (GnuSize _ n (Yota I024)) -> n*(2^(80::Integer))
calcGnuSize size = case size of
  (GnuSize _ n NoUnits) -> n
  (GnuSize _ n (Kilo Bytes)) -> n*(10^(3::Integer))
  (GnuSize _ n (Kilo I024)) -> n*(2^(10::Integer))
  (GnuSize _ n (Mega Bytes)) -> n*(10^(6::Integer))
  (GnuSize _ n (Mega I024)) -> n*(2^(20::Integer))
  (GnuSize _ n (Giga Bytes)) -> n*(10^(9::Integer))
  (GnuSize _ n (Giga I024)) -> n*(2^(30::Integer))
  (GnuSize _ n (Tera Bytes)) -> n*(10^(12::Integer))
  (GnuSize _ n (Tera I024)) -> n*(2^(40::Integer))
  (GnuSize _ n (Peta Bytes)) -> n*(10^(15::Integer))
  (GnuSize _ n (Peta I024)) -> n*(2^(50::Integer))
  (GnuSize _ n (Eta Bytes)) -> n*(10^(18::Integer))
  (GnuSize _ n (Eta I024)) -> n*(2^(60::Integer))
  (GnuSize _ n (Zeta Bytes)) -> n*(10^(21::Integer))
  (GnuSize _ n (Zeta I024)) -> n*(2^(70::Integer))
  (GnuSize _ n (Yota Bytes)) -> n*(10^(24::Integer))
  (GnuSize _ n (Yota I024)) -> n*(2^(80::Integer))