Refer to Haskell wrapper data type as handles
Foo object that refers to an instance of C++ class
Foo contains a
Foo pointer, but it's not correct to say it is a
Foo pointer, since it also contains GC metadata. Let's refer to the Haskell wrapper data types as handles instead, to not be ambiguous. Update the code and documentation to reflect this.