My goal is to have my own primitive integer type, for which I need to specialize dispatch.

```
primitive type Basis{V,G} <: Unsigned 16 end
```

How do I create a constructor for it? The documentation does not explain how.

```
julia> Basis{4,3}(0x0007)
ERROR: MethodError: no method matching Basis{4,3}(::UInt16)
Closest candidates are:
Basis{4,3}(::T<:Number) where T<:Number at boot.jl:725
Basis{4,3}(::Float16) where T<:Integer at float.jl:71
Basis{4,3}(::Complex) where T<:Real at complex.jl:37
...
```