Improved broadcasting and new broadcast_arrays function