title: ERROR DART: The name 'x' isn't a type so it can't be used as a type argument
body: <p>Error in the Input part in one class and in Output in another class</p>
  
  <ol>
  <li>This would be the main class referenced</li>
  </ol>
  
  <pre><code>abstract class HttpFunction&lt;Input, Output&gt;
  {
    Output apply(Input paramInput);
  }
  </code></pre>
  
  <ol start="2">
  <li>This would be the class in which the previous one is called</li>
  </ol>
  
  <pre><code>class ComposerFunction with HttpFunction&lt;Input, Request&gt;
  {
      RequestComposer&lt;Input&gt; inputConverter;
  
      ComposerFunction(RequestComposer inputConverter);
  
      ComposerFunction_(RequestComposer&lt;Input&gt; inputConverter)
      {
          this.inputConverter = inputConverter;
      }
  
      Request apply(Input input)
      {
          return this.inputConverter.compose(input);
      }
  }
  
  class InterpreterFunction with HttpFunction&lt;Response, Output&gt; 
  {
      ResponseInterpreter&lt;Output&gt; responseInterpreter;
  
      InterpreterFunction(ResponseInterpreter outputConverter);
  
      InterpreterFunction_(ResponseInterpreter&lt;Output&gt; responseInterpreter)
      {
          this.responseInterpreter = responseInterpreter;
      }
  
      Output apply(Response response)
      {
          return this.responseInterpreter.interpret(response);
      }
  }
  </code></pre>
  
  <ol start="3">
  <li>These are the Errors</li>
  </ol>
  
  <pre><code>The name 'Input' isn't a type so it can't be used as a type argument.
  Try correcting the name to an existing type, or defining a type named 'Input'.dart(non_type_as_type_argument)
  </code></pre>
  
  <p>And</p>
  
  <pre><code>The name 'Output' isn't a type so it can't be used as a type argument.
  Try correcting the name to an existing type, or defining a type named 'Output'.dart(non_type_as_type_argument)
  </code></pre>
  
  <p><strong>UPDATE</strong></p>
  
  <pre><code>class ComposerFunction&lt;Input&gt; implements HttpFunction&lt;Input, Request&gt;
  {
      ...
  }
  
  class InterpreterFunction&lt;Output&gt; implements HttpFunction&lt;Response, Output&gt;
  {
     ...
  }
  </code></pre>
  
  <p>Thank you for your answers :)</p>