x=(), m=Unit
x=true, m=Boolean
x=a, m=Char
x=1, m=Int
x=abc, m=java.lang.String
x='abc, m=scala.Symbol

x=List(()), m=scala.collection.immutable.List[Unit]
x=List(true), m=scala.collection.immutable.List[Boolean]
x=List(1), m=scala.collection.immutable.List[Int]
x=List(abc), m=scala.collection.immutable.List[java.lang.String]
x=List('abc), m=scala.collection.immutable.List[scala.Symbol]

x=[Z, m=Array[Boolean]
x=[C, m=Array[Char]
x=[I, m=Array[Int]
x=[Ljava.lang.String;, m=Array[java.lang.String]
x=[Lscala.Symbol;, m=Array[scala.Symbol]

x=((),()), m=scala.Tuple2[Unit, Unit]
x=(true,false), m=scala.Tuple2[Boolean, Boolean]
x=(1,2), m=scala.Tuple2[Int, Int]
x=(abc,xyz), m=scala.Tuple2[java.lang.String, java.lang.String]
x=('abc,'xyz), m=scala.Tuple2[scala.Symbol, scala.Symbol]

x=Test$, m=Test$
x=scala.collection.immutable.List$, m=scala.collection.immutable.List$

x=Foo, m=Foo[Int]
x=Foo, m=Foo[scala.collection.immutable.List[Int]]
x=Foo, m=Foo[Foo[Int]]
x=Foo, m=Foo[scala.collection.immutable.List[Foo[Int]]]

x=Test1$$anon$1, m=Test1$$anon$1

()=()
true=true
a=a
1=1
'abc='abc

List(())=List(())
List(true)=List(true)
List('abc)=List('abc)

Array()=Array()
Array(true)=Array(true)
Array(a)=Array(a)
Array(1)=Array(1)

((),())=((),())
(true,false)=(true,false)

List(List(1), List(2))=List(List(1), List(2))

Array(Array(1), Array(2))=Array(Array(1), Array(2))

