downcast
TODO
description?
docs, examples, tests