agree the constructor is hideous but still so experimental and deep that it is not worth a builder.  i'll mark `@Beta`.