first/last now support assoc arrays
added keys()
added values()
cleaned up utils docs