/* @flow */ function Children (children : Iterable) { this.children = Array.from(children) return this } Children.prototype = { toArray () : any[] { return this.children }, get length () : number { return this.children.length }, [Symbol.iterator] () : Iterator { return this.children[Symbol.iterator]() } } const asChildren = (children : Iterable = []) : Children => isChildren(Children) ? children : new Children(children) const isChildren = (children : ?any) : boolean => children instanceof Children