fixed String() for correctly-formed lists and added Map() and Reduce() functions