Return type of left hand side as type of assignment operator