Cleanup type information and return values

Since all return values are word sized we can do an unsafe transmute
instead of having to rely on helper functions.