redesigned Builder to take one fewer parameter so it can be used with
Rank9, etc.
Added 'construct'