PropertyValue

public enum PropertyValue : Equatable, CustomStringConvertible, ExpressibleByStringLiteral, ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral, ExpressibleByBooleanLiteral, ExpressibleByArrayLiteral

Tiled user defined properties are typed, and captured as one of a number of PropertyValue cases with attached data for the specific typed value