I was working on a personal project and needed to display as much alphanumeric info in as Little space as possible, while treating the characters as numbers. I came up with this struct, which is a Base62 data type. It's a good example of creating a struct for use as a data type, including the following:
Implicit conversion to/from multiple types
Arithmetic operators (+, -, *, /)
Relational operators (==, !=, )
Equality against multiple types
Example:
Base62 num = "10"; // Results in an int value of 62
num == 62 // True
num == "10" // True
num < 63 // True
num < "Z" // False
num + 1 == 63 // True
num + "1" == 63 // True