Read/write property
The usual implementation looks like:
class Foo:
val name_* : Pro.M[String] = Pro.M[String]("")
def name : String = name_*()
def name_=(v :String): Unit = name_*() = v
val bar_* : Int.Pro.M = Int.Pro.M(0)
def bar : Int = value_*()
def bar_=(v :Int) : Unit = value_*() = v
trait Pro.ObservableMutable[A]
class Pro.ObservableMutable.X.Abstract[A]
class Pro.ObservableMutable.X.Basic[A]
class Pro.Mutable.X.Abstract[A]
class Pro.Mutable.X.Basic[A]