Functional. TODO: improve localization, especially on string arrays