diff --git a/gdb-port/hammer-breakpoints.py b/gdb-port/hammer-breakpoints.py
index 3919e67f8d10bb74dd49183c073845c2160b9152..d2ea3068c6661cda4da34f936021692eeb172584 100644
--- a/gdb-port/hammer-breakpoints.py
+++ b/gdb-port/hammer-breakpoints.py
@@ -2,9 +2,7 @@ class HPackratParseBreakpoint(gdb.Breakpoint):
 	def stop(self):
 		frame = gdb.selected_frame()
 		block = frame.block()
-		for val in block: # GDB, why did you take away [] for gdb.Block?
-			if val.name == 'parser':
-				parser = int(val.value(frame))
+		parser = int(block['parser'].value(frame))
 		top_level_parse.enter_h_packrat_parse(parser)
 		return False
 
@@ -20,22 +18,11 @@ class HDoParseBreakpoint(gdb.Breakpoint):
 		frame = gdb.selected_frame()
 		block = frame.block()
 		retval = False
-		for val in block:
-			if val.name == 'parser':
-				parser = int(val.value(frame))
-			if val.name == 'state':
-				#TODO: rename these variables to make it clear they're pointers
-				# TODO: top level parse should get state as gdb.Value, or int, but not both
-				# TODO: rewrite this with subscript syntax, as below
-				state = int(val.value(frame))
-				state_obj = val.value(frame)
-				index = val.value(frame).dereference()['input_stream']['index']
-				input_ptr = val.value(frame).dereference()['input_stream']['input']
-				# If you want to printf debug the parse state
-				#print(val.value(frame).dereference())
-			if val.name == 'arena':
-				arena = int(val.value(frame))
+		parser = int(block['parser'].value(frame))
+		state = int(block['state'].value(frame))
 		parse_state = block['state'].value(frame)
+		index = parse_state.dereference()['input_stream']['index']
+		input_ptr = parse_state.dereference()['input_stream']['input']
 		token_start = index
 
 		top_level_parse.enter_h_do_parse(parse_state, None, parser)
@@ -164,10 +151,7 @@ class HArenaMallocRawBreakpoint(gdb.Breakpoint):
 		frame = gdb.selected_frame()
 		block = frame.block()
 
-		for val in block:
-			if val.name == 'size':
-				alloc_size = int(val.value(frame))
-
+		alloc_size = int(block['size'].value(frame))
 		top_level_parse.enter_h_arena_malloc_raw(alloc_size)
 
 		return False