Trying a different implementation for reference_is_assignable