TimeTypes #167

- Removes unnecessary HasPart' constraints
- We still have to figure out the proper typing for part-specific meta-data
  - It should involve something like (HasParts' a a, Ord (Part a), Eq (Part a))
  - In the old code HasPart' was used to mean "something that has a comparable
    part representation", but in the new code it means "a type with a single
    monomorphic part"