implement broadcast for object-array
object array coercion and broadcasting
more docstrings for protocols