got the type-programming section more or less done