Use concrete value when testing CArray[OpaquePointer].

This uncovers some missing functionality in on JVM the old code missed.
Properly decont in typed CArray STORE/FETCH.
Store return type object for callbacks.