Use =:= to compare TypeTags, http://stackoverflow.com/a/12232195/12880
Use Try.map and .flatMap to avoid boilerplate.