title: Typescript Error when binding can to ability instance
body: <p>Simply pasting example code from <a href="https://casl.js.org/v5/en/package/casl-react#bind-can-to-a-particular-ability-instance" rel="nofollow noreferrer">docs</a></p>
  <pre><code>import { createCanBoundTo } from '@casl/react';
  
  import ability from './abilities';
  
  export const Can = createCanBoundTo(ability);
  </code></pre>
  <p>Gives error on last line:</p>
  <blockquote>
  <p>Exported variable 'Can' has or is using name 'BoundCanClass' from
  external module
  &quot;C:/Users/ahmefa04/Documents/SourceCode/temp-cd-next/node_modules/@casl/react/dist/types/factory&quot;
  but cannot be named.ts(4023)</p>
  </blockquote>
  <p>Edit: I exported BoundCanClass in the factory.d.ts file however when I try to use can in my application:</p>
  <pre><code>&lt;Can I=&quot;view&quot; on=&quot;all&quot;&gt;
          &lt;Button size=&quot;small&quot; onClick={handleUpdateRow}&gt;
            Update a user
          &lt;/Button&gt;
  &lt;/Can&gt;
  </code></pre>
  <p>I get error:</p>
  <blockquote>
  <p>No overload matches this call.   Overload 1 of 2, '(props:
  BoundCanProps&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, { published:
  boolean; }&gt;&gt;, context?: any): Can&lt;Ability&lt;AbilityTuple&lt;string,
  Subject&gt;, { ...; }&gt;, true&gt;', gave the following error.
  Type '{ children: Element[]; I: string; on: string; }' is not assignable to type 'IntrinsicAttributes &amp;
  (IntrinsicClassAttributes&lt;Can&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, {
  published: boolean; }&gt;, true&gt;&gt; &amp; (Readonly&lt;...&gt; &amp; Readonly&lt;...&gt;))'.
  Property 'this' is missing in type '{ children: Element[]; I: string; on: string; }' but required in type 'Readonly&lt;{ I: string;
  this: AnyRecord; field?: string | undefined; } &amp;
  BoundCanExtraProps&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, { published:
  boolean; }&gt;&gt;&gt;'.   Overload 2 of 2, '(props:
  BoundCanProps&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, { published:
  boolean; }&gt;&gt;, context?: any):
  Component&lt;BoundCanProps&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, { ...;
  }&gt;&gt;, any, any&gt;', gave the following error.
  Type '{ children: Element[]; I: string; on: string; }' is not assignable to type 'IntrinsicAttributes &amp;
  (IntrinsicClassAttributes&lt;Component&lt;BoundCanProps&lt;Ability&lt;AbilityTuple&lt;string,
  Subject&gt;, { published: boolean; }&gt;&gt;, any, any&gt;&gt; &amp; (Readonly&lt;...&gt; &amp;
  Readonly&lt;...&gt;))'.
  Property 'this' is missing in type '{ children: Element[]; I: string; on: string; }' but required in type 'Readonly&lt;{ I: string;
  this: AnyRecord; field?: string | undefined; } &amp;
  BoundCanExtraProps&lt;Ability&lt;AbilityTuple&lt;string, Subject&gt;, { published:
  boolean; }&gt;&gt;&gt;'.ts(2769)</p>
  </blockquote>