SI-5070 approximate implicit dependent method types better

this breaks the following tests:

[partest] depmet_implicit_oopsla_session.scala:62: error: could not find implicit value for evidence parameter of type Sessions.Session[Sessions.In[Int,Sessions.In[Int,Sessions.Out[Int,Sessions.Stop]]]]{type Dual = Sessions.Out[Int,Sessions.Out[Int,Sessions.In[Int,Sessions.Stop]]]}
[partest]   def myRun = runSession(addServer, addClient)
[partest]                         ^
[partest] one error found
[partest] testing: [...]/files/pos/depmet_implicit_oopsla_session_2.scala       [FAILED]
[partest] depmet_implicit_oopsla_session_2.scala:66: error: could not find implicit value for evidence parameter of type Sessions.Session[Sessions.In[Int,Sessions.In[Int,Sessions.Out[Int,Sessions.Stop]]]]{type Dual = Sessions.Out[Int,Sessions.Out[Int,Sessions.In[Int,Sessions.Stop]]]}
[partest]   def myRun = runSession(addServer, addClient)
[partest]                         ^
[partest] one error found