Fix some bugs.
Get entangled in the _temporary_return_type vs return_type battle.