I'm curious why this needs to be an implicit.  The scope doesn't seem to escape the class.  Could we not just have an asHost function which takes a DeployInfoHost and transforms it?