Defined keys and mutable in terms of reduce
Added docs for reduce