title: How to implement isTypeOf method?
body: <p>Given this schema:</p>
  
  <pre><code>interface INode {
    id: ID
  }
  
  type Todo implements INode {
    id: ID
    title: String!
  }
  
  type Query {
    node(id: ID!): INode
  }
  </code></pre>
  
  <p>Given this class:</p>
  
  <pre><code>export default class Todo {
    constructor (public id: string, public title: string) { }
  
    isTypeOf(value: any): Boolean {
      return value instanceof Todo;
    }
  }
  </code></pre>
  
  <p>Given this resolver:</p>
  
  <pre><code>type NodeArgs = {
    id: string
  }
  export const resolver = {
    node: ({ id }: NodeArgs) =&gt; {
      return new Todo('1', 'Todo 1');
    }
  }
  </code></pre>
  
  <p>When I call the query: </p>
  
  <pre><code>query {
    node(id: "1") {
      id
      ... on Todo {
        title
      }
    }
  }
  </code></pre>
  
  <p>Then I get the return below:</p>
  
  <pre><code>{
    "errors": [
      {
        "message": "Abstract type INode must resolve to an Object type at runtime for field Query.node with value { id: \"1\", title: \"Todo 1\" }, received \"undefined\". Either the INode type should provide a \"resolveType\" function or each possible type should provide an \"isTypeOf\" function.",
        "locations": [
          {
            "line": 2,
            "column": 3
          }
        ],
        "path": [
          "node"
        ]
      }
    ],
    "data": {
      "node": null
    }
  }
  </code></pre>
  
  <p>As you can see, I've implemented the <code>isTypeOf</code> function but I am still getting the error message.</p>
  
  <p>What am I doing wrong?</p>
  
  <p>Notes:</p>
  
  <ul>
  <li>I am using Typescript, express and express-graphql;</li>
  </ul>