discard """
  output: "1"
"""

type
  TMyTuple = tuple[a, b: int]

proc indexOf*(t: typedesc, name: string): int =
  ## takes a tuple and looks for the field by name.
  ## returs index of that field.
  var
    d: t
    i = 0
  for n, x in fieldPairs(d):
    if n == name: return i
    i.inc
  raise newException(EInvalidValue, "No field " & name & " in type " &
    astToStr(t))

echo TMyTuple.indexOf("b")

