map/reduce datatypes