Adding some relatively simple implementations of properties.
Adding tests to handle equals and hashCode.
Breaking out the functionality of Masked into Constrained class. Because they aren't predicates on the input, but modify the output.