add signature extraction and add parser for rare 'def fn' forms