agda interface files
typed implementation