Read-only structs for ruby