checkRecognizesExponent :: Int -> NonNegative Int -> Int -> Bool
checkRecognizesExponent f (NonNegative d) e =
  parse float "" str == Right (EDNFloat $ head * (10 ** realToFrac e))
  where head = read (show f ++ "." ++ show d)
        str = show head ++ "E" ++ show e
checkRecognizesExponent :: Int -> NonNegative Int -> Int -> Bool
checkRecognizesExponent f (NonNegative d) e =
  parse float "" str == Right (EDNFloat $ head * (10 ** realToFrac e))
  where head = read (show f ++ "." ++ show d)
        str = show head ++ "E" ++ show e
checkRecognizesExponent f (NonNegative d) e =
  parse float "" str == Right (EDNFloat $ head * (10 ** realToFrac e))
  where head = read (show f ++ "." ++ show d)
        str = show head ++ "E" ++ show e