SizedNum = bool | byte | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | float32 | float64
func deposit[T: SizedNum](value: T; oa: var openArray[byte]) {. ...raises: [ValueError].}
func extract[T: SizedNum](oa: openArray[byte]; _: typedesc[T]): T {. ...raises: [ValueError].}