in ShortHand/lambda/convert.py [0:0]
def convert(value):
if isinstance(value, str):
yield parse_name(value)
elif isinstance(value, dict):
for k, v in value.items():
ident, props = parse_name(k)
props.update(unroll_props(v))
yield ident, props
elif isinstance(value, list):
for v in value:
for ident, props in convert(v):
yield ident, props
else:
raise Exception("Bad format at: {}".format(value))