more primitive support for booleancast, identical and instance