<div dir="ltr"><div><div><div>Hello,<br><br></div>Well, yes, singleton defined that way doesn't enforce the value to be equal to the type. Maybe you could use a type class for natVec? It's not a particularly elegant solution, but it's the only one I came up with. Or maybe use two different singleton types, one hidden and only used in SNatClass, and the other exposed and defined the way you did originally?<br><br></div>Best regards,<br></div>Marcin Mrotek<br></div>