úÎD non-portable experimentalvector-th-unbox@liyang.hu TrustworthyLet'6s consider a more complex example: suppose we want an Unbox  instance for Maybe a$. We can encode this using the pair  (Bool, a), with 'the boolean indicating whether we have Nothing or Just something. This 'encoding requires a dummy value in the Nothing case, necessitating an  additional Default (see the  data-default package) constraint. Thus: derivingUnbox "Maybe" 5 [t| (Default a, Unbox a) !Ò Maybe a !’ (Bool, a) |]. [| maybe (False, def) (\ x !’ (True, x)) |]2 [| \ (b, x) !’ if b then Just x else Nothing |]CUnique constructor suffix for the MVector and Vector data families Quotation of the form [t| ctxt !Ò src !’ rep ] #Quotation of an expression of type src !’ re #Quotation of an expression of type rep !’ sr :Declarations to be spliced for the derived Unbox instance vector-th-unbox-0.2.0.1Data.Vector.Unboxed.Deriving derivingUnbox newPatExpwrap