Made consistent the type restriction of `TAttribute : Attribute` when checking for decorated members.
Switched to consistently using an Expression rather than a Func for the predicate in asserts checking for attributes.
Delegated checking for Attributes to TypeExtentions
Inlined methods providing unnecessary indirection.