cache tuple length in the meta object
compact undefined
add `Struct.extend(props, [name])` fix #55
change `dict(B)` combinator to `dict(A, B)` where A is the set of keys fix #54