proc `as`[T: tuple](value: T; typ: typedesc): T
macro extend(tuples: varargs[typed]): typedesc
macro join(exprs: varargs[typed]): untyped