=str #16479 Make constructor of FreeDirective internal

the traits can be sealed abstract, too, so noone can say new UpstreamDirective