_.flow([ _.toPairs, pairs => _.filter(pairs, ([, value]) => value.isRequired()), pairs => _.map(pairs, p => p[0]) ])
_.flow([ _.trim, text => _.split(text, ' '), words => _.reject(words, _.isEmpty), words => _.join(words, ' ') ])
_.flow([ fp.pickBy((v, k) => v.selectByDefault), fp.keys, ])(modelFieldsConfig)
_.flow([ _.toPairs, pairs => _.filter(pairs, ([, value]) => value.isForbidden()), pairs => _.map(pairs, p => p[0]) ])
_.flow( _.toPairs, pairs => _.filter(pairs, ([, value]) => value.isOptional()), pairs => _.map(pairs, p => p[0]) )