operations: softglow never try to allocate the whole input

by using buffer-iterators: cleaner, faster, stronger