shape constructors take named payloads