visit

abstract fun visit(value: StringValue): T
abstract fun visit(value: NumberValue): T
abstract fun visit(value: BooleanValue): T
abstract fun visit(value: ObjectValue<*>): T
abstract fun visit(value: OrderedCollectionValue<*>): T
abstract fun visit(value: UnorderedCollectionValue<*>): T
abstract fun visit(value: GeneralCollectionValue<*>): T
abstract fun visit(value: PairValue<*, *>): T
abstract fun visit(value: DictionaryValue<*>): T
abstract fun visit(value: NodeValue): T
abstract fun visit(value: NoneValue): T
abstract fun visit(value: VoidValue): T
abstract fun visit(value: DynamicValue): T