Tentative fix for #572: Huge performance loss in `String.array`
use inferred param types
don't use iterator()
Fix map.patch for null items