Added support for duck typing
More comprehensive docs