add in covariant overrides for array expectations and prove out the API approach