(I cannot guarantee it (without reflection) because in our setup the user selects a target type at runtime.)