okay, updated `StreamSignature` draft: ``` from amaranth import * from amaranth.lib import enum, data, wiring class StreamSignature(wiring.Signature): def __init__(self, payload_shape): try: Shape.cast(payload_shape) except: raise TypeError(f"Stream payload shape must be a shape-castable value, " f"not {payload_shape!r}") super().__init__({ "payload": Out(payload_shape), "valid": Out(1), "ready": In(1) }) @property def p(self): return self.payload ```