improve error message accumulation
retain cached programs
log on result movement
more regular cache setup
rebuild if compiled-result dependency to parsed-result dependency
treat source and include paths as list to get deterministic file resolution