index | -> | find_index |
Flattens self in place as flatten. If no changes are made, returns nil, otherwise self. Adapted from rubinius‘
Note: Combinations are not yielded in the same order as MRI. This is not a bug; the spec states that the order is implementation dependent