type system rules for value references