How can I know if a node is a `SoftLink` or `HardLink` or `ExternalLink`?

For instance, providing `fh = h5py.File('test.h5')` and `/soft_link` a `SoftLink`, I tried `type(fh['soft_link'])` and it is shown that it's of the type of `Group`, the same as a regular `Group` node.

BTW, it seems `fh.visititems` does not visit the `Link` nodes, I can understantd that this can avoid to visit the target nodes of `SoftLink` and `HardLink` twice, but why `ExternalLink` is also neglected?