code: function isIElementNode(node) {
      return typeof node['getText'] === 'function' &&
          typeof node.currently['hasText'] === 'function' &&
          typeof node.currently['hasAnyText'] === 'function' &&
          typeof node.currently['containsText'] === 'function' &&
          typeof node.wait['hasText'] === 'function' &&
          typeof node.wait['hasAnyText'] === 'function' &&
          typeof node.wait['containsText'] === 'function' &&
          typeof node.eventually['hasText'] === 'function' &&
          typeof node.eventually['hasAnyText'] === 'function' &&
          typeof node.eventually['containsText'] === 'function' &&
          typeof node['getDirectText'] === 'function' &&
          typeof node.currently['hasDirectText'] === 'function' &&
          typeof node.currently['hasAnyDirectText'] === 'function' &&
          typeof node.currently['containsDirectText'] === 'function' &&
          typeof node.wait['hasDirectText'] === 'function' &&
          typeof node.wait['hasAnyDirectText'] === 'function' &&
          typeof node.wait['containsDirectText'] === 'function' &&
          typeof node.eventually['hasDirectText'] === 'function' &&
          typeof node.eventually['hasAnyDirectText'] === 'function' &&
          typeof node.eventually['containsDirectText'] === 'function';
  }
docs: type guards 
  Returns true if the passed node supports all functions defined in IElementNode.
  
  @param node a PageNode