Skip to content

Instantly share code, notes, and snippets.

@tarao
Created October 27, 2023 07:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tarao/935ef758373dae09e7f543bd75bfd087 to your computer and use it in GitHub Desktop.
Save tarao/935ef758373dae09e7f543bd75bfd087 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
[log typer] ==> recur(<empty>.type, a type that can be selected or applied)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(<empty>.type, a type that can be selected or applied) = true
[log typer] ==> recur(A.type, a type that can be selected or applied)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(A.type, a type that can be selected or applied) = true
[log typer] ==> recur(Map, AnyTypeConstructorProto)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(Map, AnyTypeConstructorProto) = true
[log typer] ==> recur(Selectable, AnyTypeConstructorProto)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(Selectable, AnyTypeConstructorProto) = true
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),trait Selectable).baseType(class Object)?
[log typer] <== TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),trait Selectable).baseType(class Object) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),trait Selectable).baseType(class Any)?
[log typer] <== TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),trait Selectable).baseType(class Any) = Any
[log typer] <== Type.baseType = Any
[log typer] ==> recur((Record.this.data : Map[String, Any]), ?{ apply: ? })?
[log typer] ==> firstTry?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1) = A => B
[log typer] <== Type.baseType = A => B
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1) = A => B
[log typer] <== Type.baseType = A => B
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1) = A => B
[log typer] <== Type.baseType = A => B
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),trait PartialFunction)).baseType(trait Function1) = A => B
[log typer] <== Type.baseType = A => B
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1) = K => V
[log typer] <== Type.baseType = K => V
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1) = K => V
[log typer] <== Type.baseType = K => V
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1) = K => V
[log typer] <== Type.baseType = K => V
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapOps)).baseType(trait Function1) = K => V
[log typer] <== Type.baseType = K => V
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps)?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait MapFactoryDefaults)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, CC[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps)?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]], scala.collection.MapOps[K, V, scala.collection.Map, scala.collection.Map[K, V]])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] ==> recur(scala.collection.Map, scala.collection.Map)?
[log typer] <== recur(scala.collection.Map, scala.collection.Map) = true
[log typer] ==> recur(scala.collection.Map[K, V @uncheckedVariance], scala.collection.Map[K, V])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V @uncheckedVariance, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(V @uncheckedVariance, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(scala.collection.Map[K, V @uncheckedVariance], scala.collection.Map[K, V]) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]], scala.collection.MapOps[K, V, scala.collection.Map, scala.collection.Map[K, V]]) = true
[log typer] ==> recur(scala.collection.MapOps[K, V, Map, Map[K, V]], scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] ==> recur(Map, scala.collection.Map)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(, )?
[log typer] <== recur(, ) = true
[log typer] ==> recur(, )?
[log typer] <== recur(, ) = true
[log typer] ==> recur(Map[K, V], scala.collection.Map[K, V])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(trait Map)?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map),List(TypeParamRef(K), TypeParamRef(V))).baseType(trait Map)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map),List(TypeParamRef(K), TypeParamRef(V))).baseType(trait Map) = scala.collection.Map[K, V]
[log typer] <== Type.baseType = scala.collection.Map[K, V]
[log typer] ==> recur(scala.collection.Map[K, V], scala.collection.Map[K, V])?
[log typer] <== recur(scala.collection.Map[K, V], scala.collection.Map[K, V]) = true
[log typer] <== tryBaseType(trait Map) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[K, V], scala.collection.Map[K, V]) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map, scala.collection.Map) = true
[log typer] ==> recur(Map[K, V], scala.collection.Map[K, V @uncheckedVariance])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(trait Map)?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map),List(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)),type K), TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)),type V))).baseType(trait Map)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map),List(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)),type K), TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)),type V))).baseType(trait Map) = scala.collection.Map[K, V]
[log typer] <== Type.baseType = scala.collection.Map[K, V]
[log typer] ==> recur(scala.collection.Map[K, V], scala.collection.Map[K, V @uncheckedVariance])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V, V @uncheckedVariance)?
[log typer] ==> firstTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(V, V @uncheckedVariance) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(scala.collection.Map[K, V], scala.collection.Map[K, V @uncheckedVariance]) = true
[log typer] <== tryBaseType(trait Map) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[K, V], scala.collection.Map[K, V @uncheckedVariance]) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(scala.collection.MapOps[K, V, Map, Map[K, V]], scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]) = true
[log typer] ==> recur(scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]], scala.collection.MapOps[K, V, Map, Map[K, V]])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] ==> recur(Map, Map)?
[log typer] <== recur(Map, Map) = true
[log typer] ==> recur(Map[K, V @uncheckedVariance], Map[K, V])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(V @uncheckedVariance, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(V, V)?
[log typer] <== recur(V, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(V @uncheckedVariance, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[K, V @uncheckedVariance], Map[K, V]) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]], scala.collection.MapOps[K, V, Map, Map[K, V]]) = true
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, Map, Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, C]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, C]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, C]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, C]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, C]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, C]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait MapOps)).baseType(trait MapOps) = scala.collection.MapOps[K, V, CC, C]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, CC, C]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class collection)),trait Map)).baseType(trait MapOps) = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[K, V, scala.collection.Map,
scala.collection.Map[K, V @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps)?
[log typer] <== TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps) = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps)?
[log typer] <== TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps) = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps)?
[log typer] <== TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps) = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps)?
[log typer] <== TermRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)),val data).baseType(trait MapOps) = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] <== Type.baseType = scala.collection.MapOps[String, Any, Map, Map[String, Any @uncheckedVariance]]
[log typer] ==> recur((Record.this.data.apply : (key: String): Any), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((Record.this.data.apply : (key: String): Any), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur((Record.this.data : Map[String, Any]), ?{ apply: ? }) = true
[log typer] ==> recur((name : String), String)?
[log typer] ==> firstTry?
[log typer] ==> recur((name : String), String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(NoPrefix,val name).baseType(class String)?
[log typer] <== TermRef(NoPrefix,val name).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== firstTry = true
[log typer] <== recur((name : String), String) = true
[log typer] <== firstTry = true
[log typer] <== recur((name : String), String) = true
[log typer] ==> recur((name : String), String)?
[log typer] ==> firstTry?
[log typer] ==> recur((name : String), String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(NoPrefix,val name).baseType(class String)?
[log typer] <== TermRef(NoPrefix,val name).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== firstTry = true
[log typer] <== recur((name : String), String) = true
[log typer] <== firstTry = true
[log typer] <== recur((name : String), String) = true
[log typer] ==> baseProblems?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Record)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Record) = A.Record
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(trait Selectable)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(trait Selectable) = Selectable
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Object)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Object) = Object
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(trait Matchable)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(trait Matchable) = Matchable
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Any)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record)).baseType(class Any) = Any
[log typer] <== baseProblems = List()
[log typer] ==> recur(A.Record, AnyTypeConstructorProto)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(A.Record, AnyTypeConstructorProto) = true
[log typer] ==> recur(A.Record, ?{ asInstanceOf: ? })?
[log typer] ==> firstTry?
[log typer] ==> recur(X0, ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(X0, ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(A.Record, ?{ asInstanceOf: ? }) = true
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur((Map : => scala.collection.immutable.Map.type), ?{ apply: ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),module class Map$)).baseType(trait MapFactory)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),module class Map$)).baseType(trait MapFactory) = scala.collection.MapFactory[Map]
[log typer] <== Type.baseType = scala.collection.MapFactory[Map]
[log typer] ==> Type.baseType?
[log typer] ==> ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),module class Map$)).baseType(trait MapFactory)?
[log typer] <== ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),module class Map$)).baseType(trait MapFactory) = scala.collection.MapFactory[Map]
[log typer] <== Type.baseType = scala.collection.MapFactory[Map]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),method Map).baseType(trait MapFactory)?
[log typer] <== TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),method Map).baseType(trait MapFactory) = scala.collection.MapFactory[Map]
[log typer] <== Type.baseType = scala.collection.MapFactory[Map]
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),method Map).baseType(trait MapFactory)?
[log typer] <== TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),method Map).baseType(trait MapFactory) = scala.collection.MapFactory[Map]
[log typer] <== Type.baseType = scala.collection.MapFactory[Map]
[log typer] ==> recur((elems: (K, V)*): Map[K, V], ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((elems: (K, V)*): Map[K, V], ?) = true
[log typer] <== firstTry = true
[log typer] <== recur((Map : => scala.collection.immutable.Map.type), ?{ apply: ? }) = true
[log typer] ==> recur(Map[K, V], Map[String, Any])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, K)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, K)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, K)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(K)?
[log typer] ==> recur(String, K)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(K)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(K) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, K) = false
[log typer] ==> recur(String, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, Any) = true
[log typer] <== compareTypeParamRef(K) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, K) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, K) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, K) = true
[log typer] ==> recur(K, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(K, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(K, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(K, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(K, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(K, String) = true
[log typer] ==> recur(V, Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(V, Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Any)?
[log typer] ==> firstTry?
[log typer] ==> recur((scala : scala.type), scala.type)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((scala : scala.type), scala.type) = true
[log typer] <== firstTry = true
[log typer] <== recur(Any, Any) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(V, Any) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(V, Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[K, V], Map[String, Any]) = true
[log typer] ==> recur(("f1" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f1" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f1".-> [applied to (1) returning ?]?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class any2stringadd),List(TypeParamRef(A))).baseType(class any2stringadd)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class any2stringadd),List(TypeParamRef(A))).baseType(class any2stringadd) = any2stringadd[A]
[log typer] <== Type.baseType = any2stringadd[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class any2stringadd),List(TypeParamRef(A))).baseType(class any2stringadd)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class any2stringadd),List(TypeParamRef(A))).baseType(class any2stringadd) = any2stringadd[A]
[log typer] <== Type.baseType = any2stringadd[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeParamRef(A))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeParamRef(A))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeParamRef(A))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeParamRef(A))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class Ensuring),List(TypeParamRef(A))).baseType(class Ensuring)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class Ensuring),List(TypeParamRef(A))).baseType(class Ensuring) = Ensuring[A]
[log typer] <== Type.baseType = Ensuring[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class Ensuring),List(TypeParamRef(A))).baseType(class Ensuring)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class Ensuring),List(TypeParamRef(A))).baseType(class Ensuring) = Ensuring[A]
[log typer] <== Type.baseType = Ensuring[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class StringFormat),List(TypeParamRef(A))).baseType(class StringFormat)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class StringFormat),List(TypeParamRef(A))).baseType(class StringFormat) = StringFormat[A]
[log typer] <== Type.baseType = StringFormat[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class StringFormat),List(TypeParamRef(A))).baseType(class StringFormat)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class StringFormat),List(TypeParamRef(A))).baseType(class StringFormat) = StringFormat[A]
[log typer] <== Type.baseType = StringFormat[A]
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Array[<? <: AnyRef>])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[<? <: AnyRef>]) = false
[log typer] ==> recur(String, Short)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Short)?
[log typer] ==> tryBaseType(class Short)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Short) = false
[log typer] <== thiredTryNamed(Short) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Short) = false
[log typer] ==> recur(String, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Int) = false
[log typer] ==> loading?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] <== loading = ()
[log typer] ==> recur(String, Short)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Short)?
[log typer] ==> tryBaseType(class Short)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Short) = false
[log typer] <== thiredTryNamed(Short) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Short) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Integer)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Integer)?
[log typer] ==> tryBaseType(class Integer)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Integer)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Integer) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Integer) = false
[log typer] <== thiredTryNamed(Integer) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Integer) = false
[log typer] ==> recur(String, Array[Unit])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Unit]) = false
[log typer] ==> recur(String, Array[Boolean])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Boolean]) = false
[log typer] ==> recur(String, Float)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Float)?
[log typer] ==> tryBaseType(class Float)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Float) = false
[log typer] <== thiredTryNamed(Float) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Float) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Float)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Float)?
[log typer] ==> tryBaseType(class Float)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Float) = false
[log typer] <== thiredTryNamed(Float) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Float) = false
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur((s: String): scala.collection.immutable.WrappedString, String ?=>? ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> recur(scala.collection.immutable.WrappedString, ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] <== firstTry = false
[log typer] <== recur(scala.collection.immutable.WrappedString, ?{ -> : <?> }) = false
[log typer] <== firstTry = false
[log typer] <== recur((s: String): scala.collection.immutable.WrappedString, String ?=>? ?{ -> : <?> }) = false
[log typer] ==> recur(String, Char)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Char)?
[log typer] ==> tryBaseType(class Char)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Char)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Char) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Char) = false
[log typer] <== thiredTryNamed(Char) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Char) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, (<?>, <?>, <?>))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, (<?>, <?>, <?>))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class *:)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class *:)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class *:) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class *:) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, (<?>, <?>, <?>)) = false
[log typer] ==> tryBaseType(class Tuple3)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Tuple3)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Tuple3) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Tuple3) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, (<?>, <?>, <?>)) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Long)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Long)?
[log typer] ==> tryBaseType(class Long)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Long) = false
[log typer] <== thiredTryNamed(Long) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Long) = false
[log typer] ==> recur(String, Array[Float])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Float]) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Boolean)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Boolean)?
[log typer] ==> tryBaseType(class Boolean)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Boolean) = false
[log typer] <== thiredTryNamed(Boolean) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Boolean) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Character)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Character)?
[log typer] ==> tryBaseType(class Character)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Character)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Character) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Character) = false
[log typer] <== thiredTryNamed(Character) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Character) = false
[log typer] ==> recur(String, Array[Double])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Double]) = false
[log typer] ==> recur(String, Array[Int])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Int]) = false
[log typer] ==> recur(String, Array[Int])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Int]) = false
[log typer] ==> recur(String, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Int) = false
[log typer] ==> recur(String, Array[Byte])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Byte]) = false
[log typer] ==> recur(String, Array[<? <: AnyRef>])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[<? <: AnyRef>]) = false
[log typer] ==> recur(String, Array[Short])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Short]) = false
[log typer] ==> recur(String, Char)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Char)?
[log typer] ==> tryBaseType(class Char)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Char)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Char) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Char) = false
[log typer] <== thiredTryNamed(Char) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Char) = false
[log typer] ==> recur(String, Array[Boolean])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Boolean]) = false
[log typer] ==> recur(String, Double)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Double)?
[log typer] ==> tryBaseType(class Double)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Double) = false
[log typer] <== thiredTryNamed(Double) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Double) = false
[log typer] ==> recur(String, Array[Float])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Float]) = false
[log typer] ==> recur(String, Array[Byte])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Byte]) = false
[log typer] ==> recur(String, Boolean)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Boolean)?
[log typer] ==> tryBaseType(class Boolean)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Boolean) = false
[log typer] <== thiredTryNamed(Boolean) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Boolean) = false
[log typer] ==> recur(String, Array[Char])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Char]) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, (<?>, <?>))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, (<?>, <?>))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class *:)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class *:)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class *:) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class *:) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, (<?>, <?>)) = false
[log typer] ==> tryBaseType(class Tuple2)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Tuple2)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Tuple2) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Tuple2) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, (<?>, <?>)) = false
[log typer] ==> recur(String, Long)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Long)?
[log typer] ==> tryBaseType(class Long)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Long) = false
[log typer] <== thiredTryNamed(Long) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Long) = false
[log typer] ==> recur(String, Long)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Long)?
[log typer] ==> tryBaseType(class Long)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Long) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Long) = false
[log typer] <== thiredTryNamed(Long) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Long) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Byte)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Byte)?
[log typer] ==> tryBaseType(class Byte)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Byte) = false
[log typer] <== thiredTryNamed(Byte) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Byte) = false
[log typer] ==> recur(String, Array[Double])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Double]) = false
[log typer] ==> recur(String, <?>)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, <?>) = true
[log typer] ==> recur((self: A): ArrowAssoc[A], String ?=>? ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : <?> }) = true
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] <== firstTry = true
[log typer] <== recur((self: A): ArrowAssoc[A], String ?=>? ?{ -> : <?> }) = true
[log typer] ==> recur(String, Array[<?>])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[<?>]) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, Double)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Double)?
[log typer] ==> tryBaseType(class Double)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Double) = false
[log typer] <== thiredTryNamed(Double) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Double) = false
[log typer] ==> recur(String, Double)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Double)?
[log typer] ==> tryBaseType(class Double)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Double) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Double) = false
[log typer] <== thiredTryNamed(Double) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Double) = false
[log typer] ==> recur(String, Array[Char])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Char]) = false
[log typer] ==> recur(String, Short)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Short)?
[log typer] ==> tryBaseType(class Short)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Short) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Short) = false
[log typer] <== thiredTryNamed(Short) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Short) = false
[log typer] ==> recur(String, Array[<?>])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[<?>]) = false
[log typer] ==> recur(String, Array[Unit])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Unit]) = false
[log typer] ==> recur(String, Byte)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Byte)?
[log typer] ==> tryBaseType(class Byte)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Byte) = false
[log typer] <== thiredTryNamed(Byte) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Byte) = false
[log typer] ==> loading?
[log typer] <== loading = ()
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur((x: String): scala.collection.StringOps, String ?=>? ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> recur(scala.collection.StringOps, ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(scala.collection.StringOps, ?{ -> : <?> }) = false
[log typer] <== firstTry = false
[log typer] <== recur((x: String): scala.collection.StringOps, String ?=>? ?{ -> : <?> }) = false
[log typer] ==> recur(String, Array[Long])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Long]) = false
[log typer] ==> recur(String, <?>)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, <?>) = true
[log typer] ==> recur((self: A): Ensuring[A], String ?=>? ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> recur(Ensuring[A], ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(Ensuring[A], ?{ -> : <?> }) = false
[log typer] <== firstTry = false
[log typer] <== recur((self: A): Ensuring[A], String ?=>? ?{ -> : <?> }) = false
[log typer] ==> recur(String, Array[Short])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Short]) = false
[log typer] ==> recur(String, Byte)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Byte)?
[log typer] ==> tryBaseType(class Byte)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Byte) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Byte) = false
[log typer] <== thiredTryNamed(Byte) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Byte) = false
[log typer] ==> recur(String, Float)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Float)?
[log typer] ==> tryBaseType(class Float)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Float) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Float) = false
[log typer] <== thiredTryNamed(Float) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Float) = false
[log typer] ==> recur(String, <?>)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, <?>) = true
[log typer] ==> recur((self: A): StringFormat[A], String ?=>? ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] ==> recur(StringFormat[A], ?{ -> : <?> })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(StringFormat[A], ?{ -> : <?> }) = false
[log typer] <== firstTry = false
[log typer] <== recur((self: A): StringFormat[A], String ?=>? ?{ -> : <?> }) = false
[log typer] ==> recur(String, Array[<?>])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[<?>]) = false
[log typer] ==> recur(String, Boolean)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Boolean)?
[log typer] ==> tryBaseType(class Boolean)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Boolean) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Boolean) = false
[log typer] <== thiredTryNamed(Boolean) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Boolean) = false
[log typer] ==> recur(String, Array[Long])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> tryBaseType(class Array)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Array) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Array) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Array[Long]) = false
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f1" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f1)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f1)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f1" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f1" : String), A) = false
[log typer] ==> recur(("f1" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), A) = true
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f1" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f1" : String), ("f1" : String))?
[log typer] <== recur(("f1" : String), ("f1" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f1".-> [applied to (1) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f1")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f1" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f1)).baseType(class String)?
[log typer] <== ConstantType(Constant(f1)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f1" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((1 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(1)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(1)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((1 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((1 : Int), B) = false
[log typer] ==> recur((1 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), Any) = true
[log typer] ==> recur((1 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), B) = true
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((1 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((1 : Int), (1 : Int))?
[log typer] <== recur((1 : Int), (1 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f1" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f1" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (1 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (1 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (1 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (1 : Int)) = false
[log typer] ==> recur((1 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(1)).baseType(class Int)?
[log typer] <== ConstantType(Constant(1)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] ==> recur(Int, (1 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (1 : Int)) = false
[log typer] ==> recur((1 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(1)).baseType(class Int)?
[log typer] <== ConstantType(Constant(1)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f2" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f2" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f2".-> [applied to (2) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f2" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f2)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f2)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f2" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f2" : String), A) = false
[log typer] ==> recur(("f2" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), A) = true
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f2" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f2" : String), ("f2" : String))?
[log typer] <== recur(("f2" : String), ("f2" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f2".-> [applied to (2) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f2")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f2" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f2)).baseType(class String)?
[log typer] <== ConstantType(Constant(f2)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f2" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((2 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(2)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(2)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((2 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((2 : Int), B) = false
[log typer] ==> recur((2 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), Any) = true
[log typer] ==> recur((2 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(2)).baseType(class Int)?
[log typer] <== ConstantType(Constant(2)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), B) = true
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((2 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((2 : Int), (2 : Int))?
[log typer] <== recur((2 : Int), (2 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f2" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f2" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (2 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (2 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (2 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (2 : Int)) = false
[log typer] ==> recur((2 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(2)).baseType(class Int)?
[log typer] <== ConstantType(Constant(2)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((2 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f3" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f3" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f3".-> [applied to (4) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f3" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f3)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f3)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f3" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f3" : String), A) = false
[log typer] ==> recur(("f3" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), A) = true
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f3" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f3" : String), ("f3" : String))?
[log typer] <== recur(("f3" : String), ("f3" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f3".-> [applied to (4) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f3")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f3" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f3)).baseType(class String)?
[log typer] <== ConstantType(Constant(f3)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f3" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(4)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((4 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((4 : Int), B) = false
[log typer] ==> recur((4 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Any) = true
[log typer] ==> recur((4 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Int)?
[log typer] <== ConstantType(Constant(4)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), (4 : Int))?
[log typer] <== recur((4 : Int), (4 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f3" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f3" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (4 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (4 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (4 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (4 : Int)) = false
[log typer] ==> recur((4 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Int)?
[log typer] <== ConstantType(Constant(4)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f4" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f4" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f4".-> [applied to (4) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f4" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f4)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f4)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f4" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f4" : String), A) = false
[log typer] ==> recur(("f4" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), A) = true
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f4" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f4" : String), ("f4" : String))?
[log typer] <== recur(("f4" : String), ("f4" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f4".-> [applied to (4) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f4")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f4" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f4)).baseType(class String)?
[log typer] <== ConstantType(Constant(f4)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f4" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(4)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((4 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((4 : Int), B) = false
[log typer] ==> recur((4 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Any) = true
[log typer] ==> recur((4 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Int)?
[log typer] <== ConstantType(Constant(4)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((4 : Int), (4 : Int))?
[log typer] <== recur((4 : Int), (4 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f4" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f4" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (4 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (4 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (4 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (4 : Int)) = false
[log typer] ==> recur((4 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(4)).baseType(class Int)?
[log typer] <== ConstantType(Constant(4)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((4 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f5" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f5" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f5".-> [applied to (5) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f5" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f5)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f5)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f5" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f5" : String), A) = false
[log typer] ==> recur(("f5" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), A) = true
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f5" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f5" : String), ("f5" : String))?
[log typer] <== recur(("f5" : String), ("f5" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f5".-> [applied to (5) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f5")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f5" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f5)).baseType(class String)?
[log typer] <== ConstantType(Constant(f5)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f5" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((5 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(5)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(5)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((5 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((5 : Int), B) = false
[log typer] ==> recur((5 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), Any) = true
[log typer] ==> recur((5 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(5)).baseType(class Int)?
[log typer] <== ConstantType(Constant(5)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), B) = true
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((5 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((5 : Int), (5 : Int))?
[log typer] <== recur((5 : Int), (5 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f5" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f5" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (5 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (5 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (5 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (5 : Int)) = false
[log typer] ==> recur((5 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(5)).baseType(class Int)?
[log typer] <== ConstantType(Constant(5)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((5 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f6" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f6" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f6".-> [applied to (6) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f6" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f6)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f6)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f6" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f6" : String), A) = false
[log typer] ==> recur(("f6" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), A) = true
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f6" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f6" : String), ("f6" : String))?
[log typer] <== recur(("f6" : String), ("f6" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f6".-> [applied to (6) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f6")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f6" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f6)).baseType(class String)?
[log typer] <== ConstantType(Constant(f6)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f6" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((6 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(6)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(6)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((6 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((6 : Int), B) = false
[log typer] ==> recur((6 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), Any) = true
[log typer] ==> recur((6 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(6)).baseType(class Int)?
[log typer] <== ConstantType(Constant(6)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), B) = true
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((6 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((6 : Int), (6 : Int))?
[log typer] <== recur((6 : Int), (6 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f6" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f6" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (6 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (6 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (6 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (6 : Int)) = false
[log typer] ==> recur((6 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(6)).baseType(class Int)?
[log typer] <== ConstantType(Constant(6)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((6 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f7" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f7" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f7".-> [applied to (7) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f7" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f7)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f7)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f7" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f7" : String), A) = false
[log typer] ==> recur(("f7" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), A) = true
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f7" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f7" : String), ("f7" : String))?
[log typer] <== recur(("f7" : String), ("f7" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f7".-> [applied to (7) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f7")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f7" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f7)).baseType(class String)?
[log typer] <== ConstantType(Constant(f7)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f7" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((7 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(7)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(7)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((7 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((7 : Int), B) = false
[log typer] ==> recur((7 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), Any) = true
[log typer] ==> recur((7 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(7)).baseType(class Int)?
[log typer] <== ConstantType(Constant(7)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), B) = true
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((7 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((7 : Int), (7 : Int))?
[log typer] <== recur((7 : Int), (7 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f7" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f7" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (7 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (7 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (7 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (7 : Int)) = false
[log typer] ==> recur((7 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(7)).baseType(class Int)?
[log typer] <== ConstantType(Constant(7)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((7 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f8" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f8" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f8".-> [applied to (8) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f8" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f8)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f8)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f8" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f8" : String), A) = false
[log typer] ==> recur(("f8" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), A) = true
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f8" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f8" : String), ("f8" : String))?
[log typer] <== recur(("f8" : String), ("f8" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f8".-> [applied to (8) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f8")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f8" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f8)).baseType(class String)?
[log typer] <== ConstantType(Constant(f8)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f8" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((8 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(8)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(8)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((8 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((8 : Int), B) = false
[log typer] ==> recur((8 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), Any) = true
[log typer] ==> recur((8 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(8)).baseType(class Int)?
[log typer] <== ConstantType(Constant(8)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), B) = true
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((8 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((8 : Int), (8 : Int))?
[log typer] <== recur((8 : Int), (8 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f8" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f8" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (8 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (8 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (8 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (8 : Int)) = false
[log typer] ==> recur((8 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(8)).baseType(class Int)?
[log typer] <== ConstantType(Constant(8)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((8 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f9" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f9" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f9".-> [applied to (9) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f9" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f9)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f9)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f9" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f9" : String), A) = false
[log typer] ==> recur(("f9" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), A) = true
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f9" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f9" : String), ("f9" : String))?
[log typer] <== recur(("f9" : String), ("f9" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f9".-> [applied to (9) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f9")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f9" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f9)).baseType(class String)?
[log typer] <== ConstantType(Constant(f9)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f9" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((9 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(9)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(9)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((9 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((9 : Int), B) = false
[log typer] ==> recur((9 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), Any) = true
[log typer] ==> recur((9 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(9)).baseType(class Int)?
[log typer] <== ConstantType(Constant(9)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), B) = true
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((9 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((9 : Int), (9 : Int))?
[log typer] <== recur((9 : Int), (9 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f9" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f9" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (9 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (9 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (9 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (9 : Int)) = false
[log typer] ==> recur((9 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(9)).baseType(class Int)?
[log typer] <== ConstantType(Constant(9)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((9 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur(("f10" : String), ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] <== firstTry = false
[log typer] <== recur(("f10" : String), ?{ -> : ? }) = false
[log typer] ==> try insert impl on qualifier "f10".-> [applied to (10) returning ?]?
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f10" : String), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f10)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(f10)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f10" : String), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(("f10" : String), A) = false
[log typer] ==> recur(("f10" : String), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), Any) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), A) = true
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f10" : String), A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(("f10" : String), ("f10" : String))?
[log typer] <== recur(("f10" : String), ("f10" : String)) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), A) = true
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), A) = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), A) = true
[log typer] ==> recur(ArrowAssoc[A], ?{ -> : ? })?
[log typer] ==> firstTry?
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(ArrowAssoc[A], ?{ -> : ? }) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((y: B): (A, B), ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur((y: B): (A, B), ?) = true
[log typer] <== try insert impl on qualifier "f10".-> [applied to (10) returning ?] = SearchSuccess: (ArrowAssoc : [A](self: A): ArrowAssoc[A]) via
ArrowAssoc[A]("f10")
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur((A, B), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(A, String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, String)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class String) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class String) = false
[log typer] <== thiredTryNamed(String) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, String) = false
[log typer] ==> recur(("f10" : String), String)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(String)?
[log typer] ==> tryBaseType(class String)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(f10)).baseType(class String)?
[log typer] <== ConstantType(Constant(f10)).baseType(class String) = String
[log typer] <== Type.baseType = String
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== tryBaseType(class String) = true
[log typer] <== thiredTryNamed(String) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(("f10" : String), String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(A, String) = true
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(B, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Any, Int)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(class Int) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Int) = false
[log typer] <== thiredTryNamed(Int) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Int) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(V) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, V) = false
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(B, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((A, B), (String, V)) = true
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((10 : Int), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(10)).baseType(class Nothing)?
[log typer] <== ConstantType(Constant(10)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((10 : Int), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Int).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, Nothing) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur((10 : Int), B) = false
[log typer] ==> recur((10 : Int), Any)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), Any) = true
[log typer] ==> recur((10 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(10)).baseType(class Int)?
[log typer] <== ConstantType(Constant(10)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), Int) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), B) = true
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((10 : Int), B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur((10 : Int), (10 : Int))?
[log typer] <== recur((10 : Int), (10 : Int)) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), B) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), B) = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A)))).baseType(class ArrowAssoc) = ArrowAssoc[A]
[log typer] <== Type.baseType = ArrowAssoc[A]
[log typer] ==> recur(A, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(String, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(String, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(A).baseType(trait Singleton)?
[log typer] <== TypeParamRef(A).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A, Singleton) = false
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, A)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(A)?
[log typer] ==> recur(String, ("f10" : String))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, ("f10" : String)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(A) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(String, A) = false
[log typer] <== compareTypeParamRef(A) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(String, A) = true
[log typer] ==> recur(B, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(B).baseType(trait Singleton)?
[log typer] <== TypeParamRef(B).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(B, Singleton) = false
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, B)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(B)?
[log typer] ==> recur(Int, (10 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (10 : Int)) = false
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== compareTypeParamRef(B) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, B) = false
[log typer] ==> recur(Int, (10 : Int))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(Int, (10 : Int)) = false
[log typer] ==> recur((10 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(10)).baseType(class Int)?
[log typer] <== ConstantType(Constant(10)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((10 : Int), Int) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== compareTypeParamRef(B) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, B) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),module class Predef$)),class ArrowAssoc),List(TypeVar(TypeParamRef(A) -> TypeRef(ThisType(TypeRef(NoPrefix,module class lang)),class String)))).baseType(class ArrowAssoc) = ArrowAssoc[String]
[log typer] <== Type.baseType = ArrowAssoc[String]
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> recur((String, Int), (String, V))?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, V)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(V)?
[log typer] ==> recur(Int, Int)?
[log typer] <== recur(Int, Int) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== compareTypeParamRef(V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, V) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((String, Int), (String, V)) = true
[log typer] ==> Type.baseType?
[log typer] ==> AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Tuple2),List(TypeVar(TypeParamRef(K)), TypeVar(TypeParamRef(V)))))).baseType(trait Seq)?
[log typer] <== AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Tuple2),List(TypeVar(TypeParamRef(K)), TypeVar(TypeParamRef(V)))))).baseType(trait Seq) = Seq[(String, V)]
[log typer] <== Type.baseType = Seq[(String, V)]
[log typer] ==> recur(V, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> recur(Any, Singleton)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton)?
[log typer] <== TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Any).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== firstTry = false
[log typer] <== recur(Any, Singleton) = false
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Singleton)?
[log typer] ==> tryBaseType(trait Singleton)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeParamRef(V).baseType(trait Singleton)?
[log typer] <== TypeParamRef(V).baseType(trait Singleton) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(trait Singleton) = false
[log typer] <== thiredTryNamed(Singleton) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(V, Singleton) = false
[log typer] ==> recur(Map[String, Int], Map[String, Any])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[String, Int], Map[String, Any]) = true
[log typer] ==> recur(Map[String, Int], Map[String, Any])?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(String, String)?
[log typer] ==> firstTry?
[log typer] ==> recur(String, String)?
[log typer] <== recur(String, String) = true
[log typer] <== firstTry = true
[log typer] <== recur(String, String) = true
[log typer] ==> recur(Int, Any)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Any)?
[log typer] <== thiredTryNamed(Any) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Any) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur(Map[String, Int], Map[String, Any]) = true
[log typer] ==> recur(A.Record, ?{ asInstanceOf: ? })?
[log typer] ==> firstTry?
[log typer] ==> recur(X0, ?)?
[log typer] ==> firstTry?
[log typer] <== firstTry = true
[log typer] <== recur(X0, ?) = true
[log typer] <== firstTry = true
[log typer] <== recur(A.Record, ?{ asInstanceOf: ? }) = true
[log typer] ==> recur((1 : Int), Int)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Int)?
[log typer] ==> tryBaseType(class Int)?
[log typer] ==> Type.baseType?
[log typer] ==> ConstantType(Constant(1)).baseType(class Int)?
[log typer] <== ConstantType(Constant(1)).baseType(class Int) = Int
[log typer] <== Type.baseType = Int
[log typer] ==> recur(Int, Int)?
[log typer] ==> firstTry?
[log typer] ==> recur((scala : scala.type), scala.type)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((scala : scala.type), scala.type) = true
[log typer] <== firstTry = true
[log typer] <== recur(Int, Int) = true
[log typer] <== tryBaseType(class Int) = true
[log typer] <== thiredTryNamed(Int) = true
[log typer] <== thirdTry = true
[log typer] <== secondTry = true
[log typer] <== firstTry = true
[log typer] <== recur((1 : Int), Int) = true
[log typer] ==> recur((A.r :
A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int;
val f6: Int; val f7: Int; val f8: Int; val f9: Int; val f10: Int
}
), R)?
[log typer] ==> firstTry?
[log typer] ==> recur((A.r :
A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int;
val f6: Int; val f7: Int; val f8: Int; val f9: Int; val f10: Int
}
), R)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(R)?
[log typer] ==> recur((A.r :
A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int;
val f6: Int; val f7: Int; val f8: Int; val f9: Int; val f10: Int
}
), R)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(R)?
[log typer] ==> recur((A.r :
A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int;
val f6: Int; val f7: Int; val f8: Int; val f9: Int; val f10: Int
}
), Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),val r).baseType(class Nothing)?
[log typer] <== TermRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),val r).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int; val f10: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f10,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f10,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int})?
[log typer] ==> recur(A.Record{val f1: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record)?
[log typer] ==> recur(A.Record, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record, Nothing) = false
[log typer] <== isNewSubType(A.Record) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int; val f10: Int
}, Nothing) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur((A.r :
A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int;
val f6: Int; val f7: Int; val f8: Int; val f9: Int; val f10: Int
}
), Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int; val f10: Int
}, R)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> compareTypeParamRef(R)?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int; val f10: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f10,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f10,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f9,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f8,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f7,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int})?
[log typer] ==> recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f6,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f5,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f4,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int; val f3: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f3,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int; val f2: Int})?
[log typer] ==> recur(A.Record{val f1: Int; val f2: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)),f2,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record{val f1: Int})?
[log typer] ==> recur(A.Record{val f1: Int}, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> secondTry?
[log typer] ==> thirdTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing)?
[log typer] <== RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record),f1,TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int)).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] ==> isNewSubType(A.Record)?
[log typer] ==> recur(A.Record, Nothing)?
[log typer] ==> firstTry?
[log typer] ==> thiredTryNamed(Nothing)?
[log typer] ==> tryBaseType(class Nothing)?
[log typer] ==> Type.baseType?
[log typer] ==> TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record).baseType(class Nothing)?
[log typer] <== TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <empty>)),module class A$)),class Record).baseType(class Nothing) = <notype>
[log typer] <== Type.baseType = <notype>
[log typer] ==> fourthTry?
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record, Nothing) = false
[log typer] <== isNewSubType(A.Record) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}, Nothing) = false
[log typer] <== isNewSubType(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int
}) = false
[log typer] <== fourthTry = false
[log typer] <== tryBaseType(class Nothing) = false
[log typer] <== thiredTryNamed(Nothing) = false
[log typer] <== thirdTry = false
[log typer] <== secondTry = false
[log typer] <== firstTry = false
[log typer] <== recur(A.Record{
val f1: Int; val f2: Int; val f3: Int; val f4: Int; val f5: Int; val f6: Int;
val f7: Int; val f8: Int; val f9: Int; val f10: Int
}, Nothing) = false
[log typer] ==> fourthTry?
[log typer] ==> isNewSubT
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment