Is there even a straightforward way in the protocol to get type information? If the protocol won't tell you, a client library can't tell you.
-- Jordan Brown, Oracle ZFS Storage Appliance, Oracle Solaris