bug fix to common_type and decay