examples/web_crawler.go
func work(args ...interface{}) interface{} {
	url := args[0].(string)
	depth := args[1].(int)
	fetcher := args[2].(Fetcher)
	if depth <= 0 {
		return crawlResult{}
	}
	body, urls, err := fetcher.Fetch(url)
	return crawlResult{body, urls, err}
}
func work(args ...interface{}) interface{} {
	url := args[0].(string)
	depth := args[1].(int)
	fetcher := args[2].(Fetcher)
	if depth <= 0 {
		return crawlResult{}
	}
	body, urls, err := fetcher.Fetch(url)
	return crawlResult{body, urls, err}
}
// work uses fetcher to recursively crawl
// pages starting with url, to a maximum of depth.