fix: empty definitions are not definitions!
implement non-regular references (closes issue #31)
test for non-regular references