anchor.diff:  
       let selector = (String + Element + selectionCallback !|Element + selectionCallback NodeList)?selector
   
  -    let ChainedClassG name (t: Type.Type) (members : ((Type.IParameters -> Type.Type) -> CodeModel.Member list)) =
  -        Class name |=> t |+> Protocol (members <| fun args -> args ^-> t)
  -
  -    let ChainedClass name (t: Type.Type) (members : ((Type.IParameters -> Type.Type) -> CodeModel.Member list)) =
  -        Class name |=> t |+> Protocol (members <| fun args -> args ^-> t)
  +    let ChainedClassG name (t: Type.Type) (members : ((Type.IParameters -> Type.Type) -> CodeModel.IClassMember list)) =
  +        Class name |=> t |+> Instance (members <| fun args -> args ^-> t)
  +
  +    let ChainedClass name (t: Type.Type) (members : ((Type.IParameters -> Type.Type) -> CodeModel.IClassMember list)) =
  +        Class name |=> t |+> Instance (members <| fun args -> args ^-> t)
           |>! addToClassList
   
       let ChainedClassNew name members =
  
positive.code:                 "rangeExtent"     => O ^-> Float2T
                  "copy"            => chained O
              ]
          addToClassList <| Generic - gen
          gen
  
      let TimeScale = getQuantScale "TimeScale" Date
  
negative.code:                 ]
              Class "Selection"
              |=> selfG
              |+> Instance
                  [
                      // TODO: NameValuePair
                      "attr" => String ^-> Obj
  