>>> import tw2.core as twc
>>> class A(twc.CompoundWidget):
...    a = twc.Widget()
...    class b(twc.CompoundWidget):
...         id = None
...         b = twc.Widget()
...         c = twc.Widget()
...
>>> A.children[1]._sub_compound
True
>>> a = A.req(value={'a':'1', 'b':'2', 'c':'3'})
>>> a.prepare()
>>> a.c.a.value
'1'
>>> a.c[1].c.b.value
'2'
>>> a.c[1].c.c.value
'3'

>>> class X(object):
...     a = '4'
...     b = '5'
...     c = '6'
...
>>> a = A.req(value=X())
>>> a.prepare()
>>> a.c.a.value
'4'
>>> a.c[1].c.b.value
'5'
>>> a.c[1].c.c.value
'6'

>>> class B(twc.CompoundWidget):
...    a = twc.DisplayOnlyWidget(child=twc.Widget())
...    class b(twc.DisplayOnlyWidget):
...        id = None
...        class child(twc.CompoundWidget):
...            b = twc.Widget()
...            c = twc.Widget()
>>> B.children[1]._sub_compound
True
>>> B.children[1].child._sub_compound
True
>>> b = B.req(value={'a':'1', 'b':'2', 'c':'3'})
>>> b.prepare()
>>> b.c.a.child.value
'1'
>>> b.c[1].child.c.b.value
'2'
>>> b.c[1].child.c.c.value
'3'
