Checkpointing before introducing a generic field access method
wip
TODO: do it somewhat flat again