pub fn parse_arguments<T>(argv: Vec<String>) -> Result<T, Error>where T: DeserializeOwned + CommandArg,