template atImpl(self; p) {.dirty.}
template chkIdx(i, L: int)
template dollarImpl(self: typed; getAccessor = selfAsAccessor) {.dirty.}