First arg always typed explicitly to avoid using oddities.