func def ADT lint & test