Cosmetic changes, switched Hashable instances over to hashable
Combined Project and Construct patterns into a single Deconstruct pattern