If you want to hydrate an object from another (ex: ArrayAccess) you can't implement Zend\Stdlib\HydratorInterface because parameter $data of "hydrate" is using type hint "array".
This is a BC break. We can do this in 3.0
I think this should be moved to 3.0 milestone
Closing due to inactivity and lack of comprehensive usage case.