@silverwizard Yes, I'm also struggling with that. Not so much with the types themselves ("Make invalid state unrepresentable" is a good proposition), but with the borrowing and lifetimes and such. I'm fine with unwrap(), because I tended to use the usual "-1" or "undef" as a return indicating failure, and then not checking it.