More flexible primitive handling.