Supporting the marshaling of different types.