apply changes and fixes from TPCombinators

These are the fixes applied to TPCombinators, plus one extra fix applied to your sample type provider