i think we're safe in this instance because Builder usage is strictly covariant (if that's the right way to say it?)

in general however it is messy; i'd like to remove/merge some of the builders (we have too many!) in any case so let's see about tidying up generics at that time