modifying yieldable to allow for post return side effects. this can be useful for modifying closed iterators and other items that need to be affected AFTER the return statement.

also adding a special enumerable initializer to break up a string into individual character (to string) elements. so "abc" can be ["a", "b", "c"]