Function fromUrl has type fromUrl :: String -> IOSArrow XmlTree (NTree XNode). So IOSArrow XmlTree (NTree XNode) is not clear IO-action.
Simplest way fix it - use let statement instead:
import Text.HandsomeSoup
import Text.XML.HXT.Core
main :: IO ()
main = do
let doc = fromUrl "http://www.google.com/search?q=egon+schiele"
links <- runX $ doc >>> css "h3.r a" ! "href"
mapM_ putStrLn links