chain; flatten revisited; "of"

why not support `arguments` object?