UnitSpecification
data class UnitSpecification<T : Expression>(val unitSymbol: String, val categorySymbol: String, val presentationPriority: Int = 0, val creator: (v: Double) -> T)
Specifies unit with properties as unitSymbol e.g. 'm', categorySymbol as 'L', presentationPriority for pretty printing e.g. by metre and second should be 'ms' ans not 'sm'. and creation function creator.