Indeed, typealias is not for defining a new types, but merly to associate one type with other names. This is exactly the goal I'm trying to achieve here, having a single type, and defining few outer constructors.
In the example you present, you in fact create two types that are only different in their name. I think this approach is wrong, if two type are exactly alike, having the same structure and costing the same number of bits, then their signature should be the same. What I was trying to achieve is to associate outer constructors with some type, and aliasing those constructors. Uri
