benchmarks
not creating booleans and strings unnecessarily
add a method slot to all values and use that to improve method calls