High Order Function with Type Parameter

Data types are not extensible.

That would mean u32, u8, u16 are all the same type Positive.

It seems perhaps you are misunderstanding why we need interfaces. We need interfaces so we can compose with shared attributes and behaviors that can apply to different data types.