Adjusting overloaded return type on assignments