Promote type's matching on types of Carp types
Promote type's matching on types of Carp types

This is necessary to ensure we distinguish between the symbol "Type" as
returned by `type` from the type/module "Type" potentially defined by a
user:

```
(deftype Type)
(type Type)
=> Module
(type (type 1))
=> Type
;; Even though the symbol conflicts with the module defined above,
;; subsequent calls to type return the correct result.
(type (type (type 1)))
=> ()
```

carp-lang/Carp,eriksvedang/Carp,eriksvedang/Carp,carp-lang/Carp,carp-lang/Carp