 :: Route Entry -> FilePath -> IO ()
ls r p = do
	-- first get all dir entries
	let Just (Just entries) = routeDir r p
	-- stat every entry (as ls would do)
	let stated = map (\(f,_) -> fromJust $ route r (p </> f)) entries
	-- perform evaluation
	let res = sum (map entryInt stated)
	print res


ls :: Route Entry -> FilePath -> IO ()
ls r p = do
	-- first get all dir entries
	let Just (Just entries) = routeDir r p
	-- stat every entry (as ls would do)
	let stated = map (\(f,_) -> fromJust $ route r (p </> f)) entries
	-- perform evaluation
	let res = sum (map entryInt stated)
	print res
ls r p = do
	-- first get all dir entries
	let Just (Just entries) = routeDir r p
	-- stat every entry (as ls would do)
	let stated = map (\(f,_) -> fromJust $ route r (p </> f)) entries
	-- perform evaluation
	let res = sum (map entryInt stated)
	print res