Unpacking multi-type constructors