title: Tightly Coupling pallet error: ambiguous associated type `Currency` in bounds of `T`
body: <p>I have following config file, I added schelling game pallet as tightly coupling pallet:</p>
  <pre><code> use frame_support::{
      traits::{Currency, ExistenceRequirement, Get, ReservableCurrency, WithdrawReasons},
  };    
  #[pallet::config]
  pub trait Config: frame_system::Config + schelling_game::Config{
      type Event: From&lt;Event&lt;Self&gt;&gt; + IsType&lt;&lt;Self as frame_system::Config&gt;::Event&gt;;
  
      type Currency: ReservableCurrency&lt;Self::AccountId&gt;;
  
      type RandomnessSource: Randomness&lt;Self::Hash, Self::BlockNumber&gt;;
  }
  </code></pre>
  <p>I have following code in the function:</p>
  <pre><code>#[pallet::weight(10_000 + T::DbWeight::get().reads_writes(2,2))]
      pub fn add_profile_fund(origin: OriginFor&lt;T&gt;, citizenid: u128) -&gt; DispatchResult {
          let who = ensure_signed(origin)?;       
          let deposit = &lt;RegistrationFee&lt;T&gt;&gt;::get();
  
          let imb = T::Currency::withdraw(
              &amp;who,
              deposit,
              WithdrawReasons::TRANSFER,
              ExistenceRequirement::AllowDeath,
          )?;
  </code></pre>
  <p>It gives error:</p>
  <p>ambiguous associated type <code>Currency</code> in bounds of <code>T</code></p>
  <p>ambiguous associated type <code>Currency</code></p>
  <p>note: associated type <code>T</code> could derive from <code>schelling_game::Config</code>
  help: use fully qualified syntax to disambiguate: <code>&lt;T as pallet::Config&gt;::Currency</code></p>
  <p>When I add</p>
  <pre><code>let imb = &lt;T as frame_system::Config&gt;::Currency::withdraw()
  </code></pre>
  <p>It gives error:<br />
  cannot find associated type <code>Currency</code> in trait <code>frame_system::Config</code></p>
  <p>not found in <code>frame_system::Config</code></p>
  <p>Edit:<br />
  The error is because I have used currency trait in both the pallet. How can I use currency trait in both pallets?</p>