the `BlockStore` method name `is_ancestor` is misleading. `Ok(None)` is returned when there are no ancestral relations. Perhaps the method should be renamed and a purpose-specific enum can be introduced for self-descriptive explanation of the success cases.