Std/*; IO = Std/IO; Complex = Math/Complex; Scalar = Class.new "Scalar", [ this: Object, type: Int, ]; Scalar::new = { this = .args( init ); typeof( init ) .dispatchTo [ Int: { this = init; type = Int; }, Real: { this = init; type = Real; }, String:{ this = init; type = String; }, : { this = init.asString; type = String; }, ]; this; }.exception