anyway, I think this is what you're asking for:
```
>>> a = Signal()
>>> b = Signal()
>>> c = Signal()
>>> StructLayout({'a': 1, 'b': 1, 'c': 1})(Cat(a, b, c))
View(StructLayout({'a': 1, 'b': 1, 'c': 1}), (cat (sig a) (sig b) (sig c)))
>>> StructLayout({'a': 1, 'b': 1, 'c': 1})(Cat(a, b, c)).a
(slice (cat (sig a) (sig b) (sig c)) 0:1)
>>> StructLayout({'a': 1, 'b': 1, 'c': 1})(Cat(a, b, c)).b
(slice (cat (sig a) (sig b) (sig c)) 1:2)
>>> StructLayout({'a': 1, 'b': 1, 'c': 1})(Cat(a, b, c)).c
(slice (cat (sig a) (sig b) (sig c)) 2:3)
```