the hard part is when
logic immutalizes its function
refactor out a function
test that logic immutalizes
log the trace file