pub type Scanner = Box<dyn ScanDyn>;
A type-erased wrapper of Scan
struct Scanner(/* private fields */);