@predvoditelev зачем тогда в getByPath передавать Closure или массив? Ведь с массивом и Closure у метода getValue будет такой же результат. Почему тогда не сделать ограничение, чтобы принимало только строку?
Кому нужны будут ключи массивами и Closure, будут напрямую всегда к getValue обращаться.
Так будет ещё чище и логичнее.