Allow bounds on type variables in enums & structs

Does not do any checking of bounds, just allows them to exist.