Also this result exhibits an interesting problem. It essentially says that `glb(typeOf[AnyRef { def foo: Unit }], typeOf[X]) == typeOf[X]`, which is untrue, because `X <: AnyRef { def foo: Unit }` is false.

```
scala> class X { def foo: Unit = macro impl }
defined class X

scala> glb(List(typeOf[X], typeOf[AnyRef { def foo: Unit }]))
res0: $r.intp.global.Type = X

scala> typeOf[X] <:< typeOf[AnyRef { def foo: Unit }]
res1: Boolean = false
```

But on the other hand, what should have `glb` returned? I can't see how there can exist a non-trivial type that is a subtype of both `X` and `AnyRef { def foo: Unit }`, so we should go for `Nothing`, right?