added Traversable#assemble