Improved the types so that they are all Comparable and Castable
Removed the IntPtr from SetWarningMessageHook