discard """
  matrix: "--mm:refc"
"""

type
  Concrete* = object
    a*, b*: string
    rc*: int # refcount

proc `=`(d: var Concrete; src: Concrete) =
  shallowCopy(d.a, src.a)
  shallowCopy(d.b, src.b)
  dec d.rc
  d.rc = src.rc + 1
