package konall:achan; interface value { enum value-ty { null, boolean, number, %string, %list, map } resource value { ty: func() -> value-ty; null: static func() -> value; boolean: static func(v: bool) -> value; number: static func(v: float64) -> value; %string: static func(v: string) -> value; %list: static func(v: list) -> value; map: static func(v: list>) -> value; as-null: func() -> option; as-boolean: func() -> option; as-number: func() -> option; as-string: func() -> option; as-list: func() -> option>; as-map: func() -> option>>; } } world achan { export value; }