title: Non-unique determining parameter
body: <p>The meaning of a determining parameter in an interface, as I understand it, is that the compiler can use that parameter to uniquely determine which implementation to use. However, I can create multiple implementations for a given determining parameter, which means the implementation's no longer unique. What does a determining parameter mean there?</p>
  <p>For example in</p>
  <pre><code>interface Foo (a : Type) (b : Type) | b where
  
  Foo Int String where
  Foo Double String where
  </code></pre>