component field add doesn't compiles in the chat client example
**Describe the bug** 🐛
It looks like we are trying to add value to the immutable field because of:
`self.messageHistory->add(remember initMsg(text, fromId))`
is `add(val(Chat(self).messageHistory), remember initMsg(text, fromId))`
where `val` in happyx-2.9.7\happyx\spa\state.nim is 
```
func val*[T](self: State[T]): T =
  ## Returns immutable state value
```

**To Reproduce** 👨‍🔬
Steps to reproduce the behavior:
run nimble install happyx
clone happyx and cd in happyx\examples\chat_app\client
run hpx dev --reload

**Expected behavior** 🤔
Everything works

Error in nim 1.6.14:
```
D:\Nim\PKGS\happyx\examples\chat_app\client\src\components\chat.nim(73, 39) Error: type mismatch: got <seq[State[chat.Msg]], State[chat.Msg]>
but expected one of:
func add(self: TagRef; tags: varargs[TagRef])
  first type mismatch at position: 1
  required type for self: TagRef
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add(c: ClassList; class: cstring)
  first type mismatch at position: 1
  required type for c: ClassList
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add(x: var cstring; y: cstring)
  first type mismatch at position: 1
  required type for x: var cstring
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add(x: var string; y: char)
  first type mismatch at position: 1
  required type for x: var string
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add(x: var string; y: cstring)
  first type mismatch at position: 1
  required type for x: var string
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add(x: var string; y: string)
  first type mismatch at position: 1
  required type for x: var string
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add[A, B](t: OrderedTableRef[A, B]; key: A; val: sink B)
  first type mismatch at position: 1
  required type for t: OrderedTableRef[add.A, add.B]
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add[A, B](t: TableRef[A, B]; key: A; val: sink B)
  first type mismatch at position: 1
  required type for t: TableRef[add.A, add.B]
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add[A, B](t: var OrderedTable[A, B]; key: A; val: sink B)
  first type mismatch at position: 1
  required type for t: var OrderedTable[add.A, add.B]
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add[A, B](t: var Table[A, B]; key: A; val: sink B)
  first type mismatch at position: 1
  required type for t: var Table[add.A, add.B]
  but expression 'val(Chat(self).messageHistory)' is of type: seq[State[chat.Msg]]
proc add[T](x: var seq[T]; y: openArray[T])
  first type mismatch at position: 1
  required type for x: var seq[T]
  but expression 'val(Chat(self).messageHistory)' is immutable, not 'var'
proc add[T](x: var seq[T]; y: sink T)
  first type mismatch at position: 1
  required type for x: var seq[T]
  but expression 'val(Chat(self).messageHistory)' is immutable, not 'var'

expression: add(val(Chat(self).messageHistory), remember initMsg(text, fromId))
```

in nim 2.0.0:
```
D:\Nim\PKGS\happyx\examples\chat_app\client\src\components\chat.nim(73, 39) Error: type mismatch       
Expression: add(val(Chat(self).messageHistory), remember initMsg(text, fromId))
  [1] val(Chat(self).messageHistory): seq[State[chat.Msg]]
  [2] remember initMsg(text, fromId): State[chat.Msg]     

Expected one of (first mismatch at [position]):
[1] func add(self: TagRef; tags: varargs[TagRef])
[1] proc add(c: ClassList; class: cstring)
[1] proc add(x: var cstring; y: cstring)
[1] proc add(x: var string; y: char)
[1] proc add(x: var string; y: cstring)
[1] proc add(x: var string; y: string)
[1] proc add[A, B](t: OrderedTableRef[A, B]; key: A; val: sink B)
[1] proc add[A, B](t: TableRef[A, B]; key: A; val: sink B)
[1] proc add[A, B](t: var OrderedTable[A, B]; key: A; val: sink B)
[1] proc add[A, B](t: var Table[A, B]; key: A; val: sink B)
[1] proc add[T](x: var seq[T]; y: openArray[T])
[1] proc add[T](x: var seq[T]; y: sink T)
```

**Please complete the following information** 📃
 - OS: Win10
 - OS Version: 22H2
 - HappyX version: 2.9.7
 - HappyX project type: SPA
 - Nim version: 2.0.0 and 1.6.14
 - Browser - it just not compiled :(
 - Browser Version - it just not compiled :(
