allow empty arrays
extend conformability  to empty arrays
fix C warnings