Make callsites to map and reduce core functions consistent.
Allow returning key as any type rather than string.
Stop string-based key/values being wrapped with "".