lib: refactor export as cast and mixin strategy
test: refactor mixin strategy and export as cast
docs: add api to readme