sgate and its partners igate, etc. were designed to save a couple of cycles by not having to identify the data type before passing it through the gate. Back in the day when at 33MHz machine was considered fast, these kinds of things were useful, but at this point the savings for an optimized gate are less than negligible. It never was designed for data typing. What are you trying to do?