started in functors...
imported stuff from HoTT1.0
whatever