refactor stack trace a bit
make dereferencing a function pointer like deferencing an opaque struct.
improves error reporting and consistency.