`string` has an explicit implementation, but we special case it. Other types might have an explicit implementation.