Use for..in because its about 20x faster than Object.keys. JSDoc and other cleanup