code: function isIValueElementNode(node) {
      return typeof node['getValue'] === 'function' &&
          typeof node['setValue'] === 'function' &&
          typeof node.currently['getValue'] === 'function' &&
          typeof node.currently['hasValue'] === 'function' &&
          typeof node.currently['hasAnyValue'] === 'function' &&
          typeof node.currently['containsValue'] === 'function' &&
          typeof node.wait['hasValue'] === 'function' &&
          typeof node.wait['hasAnyValue'] === 'function' &&
          typeof node.wait['containsValue'] === 'function' &&
          typeof node.eventually['hasValue'] === 'function' &&
          typeof node.eventually['hasAnyValue'] === 'function' &&
          typeof node.eventually['containsValue'] === 'function';
  }
docs: type guards 
  Returns true if the passed node supports all functions defined in IValueElementNode.
  
  @param node a PageNode