add subtype check to ccall with pointer (should be always true from ptr_arg_convert)
to ccall, add comments, checks, and corrections