TODO: [🐠] This should be done via validators, look at `makeValidator`
TODO: This is orphan draft code, integrate it into the main code and allow async expectations