type ElnaLexerToken = record kind: Word end ElnaLexerStringToken = record(ElnaLexerToken) value: String end var token_memory: ElnaLexerStringToken current_token: ^ElnaLexerToken begin current_token := @token_memory; cast(current_token: ^ElnaLexerStringToken)^.value := "Some string"; assert(token_memory.value = "Some string") end.