private is_simulatable_primitive — function
is_simulatable_primitive(ftype::Type, argtypes::Type...)
Return true if calling a callable of type ftype on arguments
of types argtypes is a BitSAD simulatable primitive operator.
Custom operators should overload BitSAD.is_trace_primitive before this function.
is_simulatable_primitive should only be overloaded if the primitive behavior is
different for only simulation. Defaults to is_trace_primitive.