so, coming from Python this feels like redundancy in the return values: why not just use RequiredTarget() (string) and "" to mean that no requirement exists? Would that be nonidiomatic in golang?