The name #ensure_valid_reflection seems to indicate that the resulted reflection must be valid, whereas in the reality it only ensure validity for specular reflections. The new name matches the behavior better.