Block: solution flags
Blocks: an attempt to templatify. Does not compile.
Core: tempatlified, == operator
Cores: a set of Core
SliceGuarantor: updated to match Blocks, etc
SliceWriter, SegmentWriter: check overlap directly by rect
SolutionGuarantor: Making progress. Does not compile :(